FAQ How do I run Eclipse?
Oracle/Sun VM 1.6.0_21 on Windows
The Eclipse 3.3 - 3.6 launchers for Windows have a problem with the Oracle/Sun Java VM version '1.6.0_21'.
UPDATE: The latest JDK/JRE downloads have fixed this problem, so the simplest way to resolve is to download and re-install from http://www.java.com (alternative link is http://java.sun.com/javase/downloads/index.jsp)
Before the fix was released, there were three choices to work around this:
- switch back to '1.6.0_20' (as of July 19, 2010 it can still be downloaded here)
- Change the commandline for launching or add the following line after "-vmargs" to your Eclipse.ini file:
- For 32-bit Helios, download the fixed eclipse_1308.dll and place it into
The bug itself was closed for voting and comments at6969236 on the Java BugParade because the change causing the problems for Eclipse has been reverted, and is open for voting and comments at bug 319514 on the Eclipse Bugzilla.
When you unzip the Eclipse SDK, it creates a base install directory called eclipse. The directory layout looks something like this:
eclipse/ features/ ''the directory containing Eclipse features'' plugins/ ''the directory containing Eclipse plugins'' eclipse.exe ''platform executable'' eclipse.ini eclipsec.exe ''(windows only) console executable'' epl-v10.html ''the EPL license'' jre/ ''the JRE to run Eclipse with'' notice.html readme
You can start Eclipse by running eclipse.exe on Windows or eclipse on other platforms. This small launcher essentially finds and loads the JVM that is on your PATH. On Windows, the eclipsec.exe console executable can be used for improved command line behaviour.
Alternatively, you can launch Eclipse by directly invoking the JVM as follows:
java -jar eclipse/plugins/org.eclipse.equinox.launcher_1.0.0.v20070606.jar
NOTE: The version of org.eclipse.equinox.launcher in the above command must match the version actually shipped with Eclipse. For more details on launching Eclipse using Java (not eclipse.exe) with the 3.3 launcher, see Starting Eclipse Commandline With Equinox Launcher.
Starting Eclipse 3.2
In Eclipse 3.2 and earlier, there was an additional file in the root of Eclipse: startup.jar. This jar file contained the classes needed to start the platform. In 3.3 the equivalent classes are in the org.eclipse.equinox.launcher bundle.
To start 3.2 by directly invoking the JVM use the following command:
java -cp eclipse/startup.jar org.eclipse.core.launcher.Main
Eclipse 3.2 did not contain a console version of the executable.
Find the JRE
If available under the eclipse/jre directory, the Eclipse JRE will be used; otherwise the launcher will consult the system path variable. Eclipse will NOT consult the JAVA_HOME environment variable.
To explicitly specify a JVM of your choice, you can use the -vm command line argument:
eclipse -vm c:\jre\bin\javaw.exe ''start Java by executing the specified java executable eclipse -vm c:\jre\bin\client\jvm.dll ''start Java by loading the jvm in the eclipse process eclipse -vm c:\jre\bin ''look for Java in the jre/bin directory
See the launcher page for more details on specifying a JVM.
Specifying the JVM in Eclipse 3.2
Eclipse 3.2 was not able to using the JVM shared library to load the VM in the Eclipse process. The only way to specify the JVM to use in 3.2 was to specify the java(w).exe:
eclipse -vm C:\jre\bin\javaw.exe
Warning: When doing this on windows be sure to use double-quotes around the path and not to cut and paste from other entries, even this one, since it may introduce invisible incompatibilities causing that JVM not to be found and another JVM on the system to be used instead. Check Help -> About Eclipse Platform -> Configuration Details -> View Error Log for symptoms of using the wrong JVM.
Another option is to put startup configuration into an
eclipse.ini file. The Eclipse program launcher will read arguments from either the command-line or the configuration file named
eclipse.ini. To specify a JVM using configuration file, create a text file named
eclipse.ini in the same folder as
eclipse.exe with these contents:
Note: there are no quotes around this path as would be required when executing the same from the command-line were the path to contain white space, etc. This is a common mistake when using Windows.
Eclipse now will launch without additional arguments in the command-line, with the JVM specified in the
eclipse.ini configuration file. Windows users: please be sure that the file you created has .ini extension, you may need to uncheck the 'Folder Options:View:Hide file extensions for known file types' from the Windows Explorer's Tools menu..
You should always use -vm so you can be sure of what VM you are using. Installers for other applications sometimes modify the system path variable, thus changing the VM used to launch Eclipse without your knowing about it.
The first time the eclipse command is executed, the platform creates a workspace directory, such as eclipse/workspace. The workspace will contain all your projects, along with private metadata computed by various plug-ins.
In Eclipse 3.0, you are prompted to choose a workspace location on start-up. Previously, the platform stored the workspace in the Eclipse install directory by default. In all versions of Eclipse, you can manually specify the workspace location on the command line, using the -data <workspace-path> command-line argument. The easiest way to quickly start Eclipse on different workspaces for versions before Eclipse 3.0 is to create shortcuts or shell scripts for each launch.
The use of -data is advised because using the default workspace location will make it much more difficult for you to upgrade to new versions of Eclipse.
- FAQ How do I increase the heap size available to Eclipse?
- FAQ How do I increase the permgen size available to Eclipse?
- FAQ Who shows the Eclipse splash screen?
- The Eclipse Program Launcher
- Equinox Wiki Category
- Running Eclipse 3.3M5+
This FAQ was originally published in Official Eclipse 3.0 FAQs. Copyright 2004, Pearson Education, Inc. All rights reserved. This text is made available here under the terms of the Eclipse Public License v1.0.
The -data option does not work if a relative path is specified. If this is true, please point it out the FAQ above. Thank you.
Specifying -vm "c:\program files\..." seems to work for galileo.