Skip to main content
Luis de la Rosa

A tour through the Eclipse start-up options

I was tweaking the start-up options on Eclipse 3.1M6 on my PowerBook and I was curious what all these things meant. Some of these are Mac-only and some probably apply to all platforms. I welcome feedback on what other platforms have for their start-up options.

Anyways, on the Mac, you edit the Info.plist to view/modify the start-up options of Eclipse. I'll focus on the ones that are passed to Eclipse specifically, rather than the ones that OS X expects in order to do things like present Eclipse as a native OS X app.

First, there is "-startup ../../../startup.jar". This is basically the classpath.

Second, there is "-keyring ~/.eclipse_keyring". This stores your CVS and SSH2 passwords. (Thanks Ed.)

Third, there is "-consoleLog". This will effectively send the output that Eclipse gives you if you run it on the command line to console.log, which is viewable on OS X via Console.app.

Fourth, there is "-showlocation". This shows the location of the workspace in the window title bar.

Fifth, there is "-vmargs", which specifies that the following options are arguments passed to the JVM on start-up, which I'll cover below:

Sixth, is "-Xbootclasspath/p:../../../plugins/org.eclipse.jdt.debug_3.1.0/jdi.jar", which prepends this JAR to the bootclasspath. JDI is the Java Debug Interface.

Seventh, is "-XstartOnFirstThread". This is needed on OS X to ensure that SWT events are handled properly.

Eighth and ninth are the initial and maximum heap settings that I covered in a previous post.

Tenth is "-Dorg.eclipse.swt.internal.carbon.smallFonts". This is a Mac OS X only parameter which tells Eclipse to use the system small font.

Eleventh and last is "-Dorg.eclipse.swt.internal.carbon.noFocusRing". This is another Mac OS X only parameter which tells Eclipse not to put a focus ring around windows and most controls.

Note that these last two and the "-XstartOnFirstThread" are good parameters to use when running any SWT-based apps on Mac OS X, including RCP apps. It's also useful when debugging your plug-ins with the run-time workbench (which is now just an "Eclipse Application" which runs org.eclipse.ui.ide.workbench). With these parameters, those apps will look much better.