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.