Community
Participate
Working Groups
Within the Eclipse application bundle Eclipse.app/Contents/MacOS contains two separate executables: 'eclipse' and 'java_swt'. For the Eclipse application bundle to work correctly on the OS X Dock the executable 'eclipse' should be the one that stays running. Currently the Application Bundle when opened from the Dock launches the 'eclipse' executable which for some unknown reason launches 'java_swt' instead of acting on its own. This causes an additional icon to appear on the Dock for 'java_swt'. Unfortunately performing the "Keep in Dock" option on this icon does not work and leaves a useless link to a UNIX executable on the Dock. To fix this the 'java_swt' executable should be become part of the 'eclipse' executable. After this Eclipse's Application Bundle will work correctly with the Dock.
No, the Application Bundle is not malformed. Yes, Eclipse 3.0.1 has two executables "eclipse" and "java_swt". "Eclipse" is the application wrapper that implements install/update for Eclipse, that is restarts the VM. "java_swt" was required in 3.0.1 since Apple's Java implementation runs the Java VM in a non UI thread which makes it impossible to have a Java based implementation of an event loop (like SWT). You can find the details in bug #40003. In the 3.1 stream there is no longer a "java_swt" since the JVM now provides a new option to provide the same functionality. However, the functionality provided by the "eclipse" executable is still required, that is "eclipse" launches another process (the JVM) to run Eclipse. So in 3.1 there is only a single executable in the application bundle, but we still see the same problems. So the real issue here is that MacOS X provides no support for representing two OS processes by a single entry in the Dock. I'm marking this bug report as a duplicate of bug #53260: Keeping Eclipse icon in dock does not work Another related bug #70713: First Launch from Dock fails Please add any infos you might have there. *** This bug has been marked as a duplicate of 53260 ***