The Eclipse 3.3 - 3.6 launchers for Windows had a problem with the Oracle/Sun Java VM version '1.6.0_21-b06'.

+

When you unzip Eclipse, the directory layout looks something like this:

−

+

<pre> eclipse/

−

'''UPDATE: Oracle/Sun have released a respin of their JDK/JRE to fix this''', so the recommended resolution of this problem is to download and re-install version 1.6.0_21-b07' or higher from [http://www.java.com http://www.java.com] (alternative link is [http://java.sun.com/javase/downloads/index.jsp http://java.sun.com/javase/downloads/index.jsp]). Make sure you have b07 or higher by running <tt>java -version</tt>.

+

−

+

−

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 [http://java.sun.com/javase/downloads/widget/jdk_javafx.jsp here])

+

−

#Change the commandline for launching or add the following line after "-vmargs" to your <tt>[[Eclipse.ini]]</tt> file:<br /> <tt>-XX:MaxPermSize=256m</tt><br /> ([[Eclipse.ini|Detailed instructions/examples]])

+

−

#For 32-bit Helios, download the fixed [https://bugs.eclipse.org/bugs/attachment.cgi?id=174640 eclipse_1308.dll] and place it into<br /><tt>(eclipse_home)/plugins/org.eclipse.equinox.launcher.win32.win32.x86_1.1.0.v20100503</tt>

+

−

+

−

The Java bug was closed for voting and comments at [http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6969236 6969236] on the Java BugParade because the change has been reverted; the related Eclipse bug report is open for voting and comments at {{bug|319514}}.

+

−

+

−

== Starting Eclipse ==

+

−

When you unzip Eclipse, the directory layout looks something like this:

+

−

<pre>

+

−

eclipse/

+

features/ ''the directory containing Eclipse features''

features/ ''the directory containing Eclipse features''

plugins/ ''the directory containing Eclipse plugins''

plugins/ ''the directory containing Eclipse plugins''

Line 26:

Line 12:

notice.html

notice.html

readme

readme

−

</pre>

+

</pre>

−

You can start Eclipse by running <tt>eclipse.exe</tt> on Windows or <tt>eclipse</tt>

+

You can start Eclipse by running <tt>eclipse.exe</tt> on Windows or <tt>eclipse</tt> on other platforms. This small launcher essentially finds and loads the JVM. On Windows, the eclipsec.exe console executable can be used for improved command line behavior.

−

on other platforms. This small launcher essentially finds and loads the JVM.

+

−

On Windows, the eclipsec.exe console executable can be used for improved command line behavior.

+

−

Alternatively,

+

Alternatively, you can launch Eclipse by directly invoking the JVM as follows:

'''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 launcher, see [[Starting Eclipse Commandline With Equinox Launcher]].

−

</pre>

+

−

+

−

'''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 launcher, see [[Starting Eclipse Commandline With Equinox Launcher]].

+

−

+

−

=== OLD: 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 and above the equivalent classes are in the org.eclipse.equinox.launcher bundle.

+

−

To start 3.2 by directly invoking the JVM use the following command:

+

== Find the JVM ==

−

<pre>

+

−

java -cp eclipse/startup.jar org.eclipse.core.launcher.Main

+

−

</pre>

+

−

Eclipse 3.2 did not contain a console version of the executable.

+

−

== Find the JVM ==

+

If a JVM is installed in the <tt>eclipse/jre</tt> directory, Eclipse will use it; otherwise the launcher will consult the eclipse.ini file and the system path variable. Eclipse '''DOES NOT''' consult the <tt>JAVA_HOME</tt> environment variable.

−

If a JVM is installed in the <tt>eclipse/jre</tt> directory, Eclipse will use it;

+

−

otherwise the launcher will consult the eclipse.ini file and the system path variable. Eclipse <b>DOES NOT</b> consult the <tt>JAVA_HOME</tt> environment variable.

+

−

To explicitly specify a JVM of your choice, you can use the <tt>-vm</tt> command

+

To explicitly specify a JVM of your choice, you can use the <tt>-vm</tt> command line argument:

eclipse -vm c:\jre\bin\client\jvm.dll ''start Java by loading the jvm in the eclipse process

eclipse -vm c:\jre\bin\client\jvm.dll ''start Java by loading the jvm in the eclipse process

−

</pre>

+

</pre>

−

+

See the [[Equinox Launcher#Finding_a_VM.2C_Using_JNI_Invocation_or_Executing_Java|launcher]] page for more details on specifying a JVM.

−

See the [[Equinox_Launcher#Finding_a_VM.2C_Using_JNI_Invocation_or_Executing_Java|launcher]] page for more details on specifying a JVM.

+

== eclipse.ini ==

== eclipse.ini ==

−

The '''most recommended''' way to specify a JVM for Eclipse to run in is to put startup configuration into the <code>[[Eclipse.ini]]</code> file in the same folder as the Eclipse executable (<code>eclipse.exe</code> on Windows). The Eclipse program launcher will read arguments from either the command-line or the configuration file named <code>[[Eclipse.ini]]</code>. To specify a JVM using configuration file, include the -vm argument in <code>[[Eclipse.ini]]</code>, for example:

+

The '''most recommended''' way to specify a JVM for Eclipse to run in is to put startup configuration into the <code>[[eclipse.ini]]</code> file in the same folder as the Eclipse executable (<code>eclipse.exe</code> on Windows). The Eclipse program launcher will read arguments from either the command-line or the configuration file named <code>[[eclipse.ini]]</code>. To specify a JVM using configuration file, include the -vm argument in <code>[[eclipse.ini]]</code>, for example:

<pre>-vm

<pre>-vm

c:/jre/bin/javaw.exe

c:/jre/bin/javaw.exe

Line 70:

Line 38:

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.

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 <code>[[Eclipse.ini]]</code> configuration file.

+

Eclipse now will launch without additional arguments in the command-line, with the JVM specified in the <code>[[eclipse.ini]]</code> configuration file.

You should always use <tt>-vm</tt> 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.

You should always use <tt>-vm</tt> 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 format of the <tt>eclipse.ini</tt> file is very particular; it is strongly recommended to read'''''[[Eclipse.ini|'''''Eclipse.ini''''']]'''''and folow the examples there.'''

+

'''''The format of the <tt>eclipse.ini</tt> file is very particular; it is strongly recommended to read '''''[[eclipse.ini|'''''eclipse.ini''''']]''''' and folow the examples there.''' ''

When Eclipse starts, you are prompted to choose a workspace location on start-up. This behavior can be configured in the Preferences. You can manually specify the workspace location on the command line, using the <tt>-data &lt;workspace-path&gt;</tt> command-line argument.

When Eclipse starts, you are prompted to choose a workspace location on start-up. This behavior can be configured in the Preferences. You can manually specify the workspace location on the command line, using the <tt>-data &lt;workspace-path&gt;</tt> command-line argument.

−

== See Also: ==

+

== OLD: Starting Eclipse 3.2 ==

−

* [[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?]]

+

−

* [http://www.eclipse.org/swt/launcher.html The Eclipse Program Launcher]

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 and above the equivalent classes are in the org.eclipse.equinox.launcher bundle.

−

<hr><font size=-2>This FAQ was originally published in [http://www.eclipsefaq.org Official Eclipse 3.0 FAQs]. Copyright 2004, Pearson Education, Inc. All rights reserved. This text is made available here under the terms of the [http://www.eclipse.org/legal/epl-v10.html Eclipse Public License v1.0].</font>

+

To start 3.2 by directly invoking the JVM use the following command:

+

<pre> java -cp eclipse/startup.jar org.eclipse.core.launcher.Main

+

</pre>

+

Eclipse 3.2 did not contain a console version of the executable.

−

== User Comments ==

−

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.

+

== OLD: Oracle/Sun VM 1.6.0_21 on Windows ==

+

+

The Eclipse 3.3 - 3.6 launchers for Windows had a problem with the Oracle/Sun Java VM version '1.6.0_21-b06'.

+

+

'''UPDATE: Oracle/Sun have released a respin of their JDK/JRE to fix this''', so the recommended resolution of this problem is to download and re-install version 1.6.0_21-b07' or higher from [http://www.java.com http://www.java.com] (alternative link is [http://java.sun.com/javase/downloads/index.jsp http://java.sun.com/javase/downloads/index.jsp]). Make sure you have b07 or higher by running <tt>java -version</tt>.

+

+

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 [http://java.sun.com/javase/downloads/widget/jdk_javafx.jsp here])

+

#Change the commandline for launching or add the following line after "-vmargs" to your <tt>[[Eclipse.ini]]</tt> file:<br> <tt>-XX:MaxPermSize=256m</tt><br> ([[Eclipse.ini|Detailed instructions/examples]])

+

#For 32-bit Helios, download the fixed [https://bugs.eclipse.org/bugs/attachment.cgi?id=174640 eclipse_1308.dll] and place it into<br><tt>(eclipse_home)/plugins/org.eclipse.equinox.launcher.win32.win32.x86_1.1.0.v20100503</tt>

+

+

The Java bug was closed for voting and comments at [http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6969236 6969236] on the Java BugParade because the change has been reverted; the related Eclipse bug report is open for voting and comments at {{bug|319514}}.

+

+

+

== See Also: ==

+

+

*[[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?]]

+

*[http://www.eclipse.org/swt/launcher.html The Eclipse Program Launcher]

<font size="-2">This FAQ was originally published in [http://www.eclipsefaq.org Official Eclipse 3.0 FAQs]. Copyright 2004, Pearson Education, Inc. All rights reserved. This text is made available here under the terms of the [http://www.eclipse.org/legal/epl-v10.html Eclipse Public License v1.0].</font>

+

+

== User Comments ==

+

+

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.

Specifying -vm "c:\program files\..." seems to work for galileo.

+

+

A comment on the JVM search order (on Windows) - My testing (Windows 7, Eclipse 3.4.1) shows that Eclipse also looks for a JVM in the registry, in my case HKLM\Software\Wow6432Node\JavaSoft\Java Runtime Environment. I believe the correct search order would be 1: eclipse/jre directory, 2: eclipse.ini file, 3: registry, 4: System path variable. Can anyone else confirm this? If that is the case I think the text above should be updated.

You can start Eclipse by running eclipse.exe on Windows or eclipse on other platforms. This small launcher essentially finds and loads the JVM. On Windows, the eclipsec.exe console executable can be used for improved command line behavior.

Alternatively, you can launch Eclipse by directly invoking the JVM as follows:

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 launcher, see Starting Eclipse Commandline With Equinox Launcher.

Find the JVM

If a JVM is installed in the eclipse/jre directory, Eclipse will use it; otherwise the launcher will consult the eclipse.ini file and the system path variable. Eclipse DOES NOT consult the JAVA_HOME environment variable.

To explicitly specify a JVM of your choice, you can use the -vm command line argument:

eclipse.ini

The most recommended way to specify a JVM for Eclipse to run in is to put startup configuration into the eclipse.ini file in the same folder as the Eclipse executable (eclipse.exe on Windows). 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, include the -vm argument in eclipse.ini, for example:

-vm
c:/jre/bin/javaw.exe

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.

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 format of the eclipse.ini file is very particular; it is strongly recommended to read eclipse.ini and folow the examples there.

When Eclipse starts, you are prompted to choose a workspace location on start-up. This behavior can be configured in the Preferences. You can manually specify the workspace location on the command line, using the -data <workspace-path> command-line argument.

OLD: 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 and above 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.

OLD: Oracle/Sun VM 1.6.0_21 on Windows

The Eclipse 3.3 - 3.6 launchers for Windows had a problem with the Oracle/Sun Java VM version '1.6.0_21-b06'.

UPDATE: Oracle/Sun have released a respin of their JDK/JRE to fix this, so the recommended resolution of this problem is to download and re-install version 1.6.0_21-b07' or higher from http://www.java.com (alternative link is http://java.sun.com/javase/downloads/index.jsp). Make sure you have b07 or higher by running java -version.

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)

User Comments

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.

A comment on the JVM search order (on Windows) - My testing (Windows 7, Eclipse 3.4.1) shows that Eclipse also looks for a JVM in the registry, in my case HKLM\Software\Wow6432Node\JavaSoft\Java Runtime Environment. I believe the correct search order would be 1: eclipse/jre directory, 2: eclipse.ini file, 3: registry, 4: System path variable. Can anyone else confirm this? If that is the case I think the text above should be updated.