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.

One Reply to “A tour through the Eclipse start-up options”

  1. Thought I’d point out that the -Xbootclasspath VM arg is only required on Mac because of the way Apple packages their VM. Sun and IBM both separate rt.jar and tools.jar and only rt.jar is put on the bootclasspath by default. tools.jar contains the implementation of JDI classes. Apple package everything in one big jar file – classes.jar. Eclipse has it’s own JDI implementation which is Java 5 ready, but because apple packages their JDI implementation on the bootclasspath (ie in the same jar that contains the system libraries), their implementation was was getting found before the Eclipse implementation. Thus the Eclipse debug team was forced to prepend jdi.jar to the bootclasspath on Mac.

Comments are closed.