Java was started but returned exit code=13

I am trying to get my first taste of Android development using Eclipse. I ran into this problem when trying to run Eclipse, having installed version 4.2 only minutes ago.

After first trying to start Eclipse without any parameters to specify the Java VM, I got an error message saying it couldn't find a Java VM called javaw.exe inside the Eclipse folder, so I found where Java was installed and specified that location as the parameter in the shortcut's target. Now I get a different error, "Java was started but returned exit code=13".

Similar questions seem to indicate that it's a 32-bit/64-bit conflict, but I'm 99% positive that I downloaded 64-bit versions of both Eclipse and Java (RE 7u5), which I chose because I have 64-bit Windows 7.

  • If anyone knows how to confirm that my Eclipse and Java are 64-bit, that'd be appreciated.
  • If you think my problem is a different one, please help!
  • Please speak as plainly as you can, as I am totally new to Eclipse and Java.
  • Shortcut Target: "C:Program FilesEclipse-SDK-4.2-win32-x86_64eclipseeclipse.exe" -vm "C:Program Files (x86)Javajre7binjavaw.exe"

    Full error code...:

    Java was started but returned exit code=13
    C:Program Files (x86)Javajre7binjavaw.exe
    -Xms40m
    -Xmx512m
    -XX:MaxPermSize=256m
    -jar C:Program FilesEclipse-SDK-4.2-win32-x86_64eclipseplugins/org.eclipse.equinox.launcher_1.30v20120522-1813.jar
    -os win32
    -ws win32
    -arch x86_64
    -showsplash C:Program FilesEclipse-SDK-4.2-win32-x86_64eclipsepluginsorg.eclipse.platform_4.2.0.v201206081400splash.bmp
    -launcher C:Program FilesEclipse-SDK-4.2-win32-x86_64eclipseeclipse.exe
    -name Eclipse
    --launcher.library C:Program FilesEclipse-SDK-4.2-win32-x86_64eclipseplugins/org.eclipse.equinox.launcher.win32.win32.x86_64_1.1.200.v201205221813eclipse_1503.dll
    -startup C:Program FilesEclipse-SDK-4.2-win32-x86_64eclipseplugins/org.eclipse.equinox.launcher_1.30v20120522-1813.jar
    --launcher.overrideVmargs
    -exitdata 1e30_5c
    -vm C:Program Files (x86)Javajre7binjavaw.exe
    -vmargs
    -Xms40m
    -Xmx512m
    -XX:MaxPermSize=256m
    -jar C:Program FilesEclipse-SDK-4.2-win32-x86_64eclipseplugins/org.eclipse.equinox.launcher_1.30v20120522-1813.jar
    

    There are working combinations of OS, JDK and Eclipse bitness. In my case, I was using a 64-bit JDK with a 32-bit Eclipse on a 64-bit OS. After downgrading the JDK to 32-bit, Eclipse started working.

    Kindly use one of the following combinations.

  • 32-bit OS, 32-bit JDK, 32-bit Eclipse (32-bit only)
  • 64-bit OS, 32-bit JDK, 32-bit Eclipse
  • 64-bit OS, 64-bit JDK, 64-bit Eclipse (64-bit only)

  • Your version of Eclipse is 64-bit, based on the paths and filenames. However, the version of Java that it's picking up is 32-bit, as indicated by where it is coming from, on this line:

    -vm C:Program Files (x86)Javajre7binjavaw.exe
    

    Program Files (x86) is the folder where 64-bit Windows places 32-bit programs.

    Program Files is the folder where 64-bit Windows places 64-bit programs.

    This can happen when a system has more than one JVM installed, as is often the case on Windows 64-bit (for example, the JRE download page uses the bit-ness of the browser to determine what bit-ness download to offer you, and many people use(d) 32-bit browsers even though they run 64-bit Windows).

    The best way to fix this, assuming you do in fact have 64-bit JRE or JDK on your system, is to specify in eclipse.ini exactly which JVM you want it to use. The instructions are detailed in the Eclipse wiki page, but basically you have to specify the -vm option in the ini file - make sure to read the wiki page carefully as the format is very specific.

    Specifying the JVM path in eclipse.ini is strongly recommended because doing so isolates Eclipse from any potential changes to your system PATH that some program installers might make (I'm talking to you, Oracle!).

    Another option would be to download and use 32-bit Eclipse instead of 64-bit, but it's still strongly recommended to specify the path to the JVM in eclipse.ini .


    Left for historical reference:

    To check your version of Java, run

      java -version 
    

    in a console (command prompt). On Windows 7 with 64-bit Java 6 I get:

      java version "1.6.0_27"
      Java(TM) SE Runtime Environment (build 1.6.0_27-b07)
      Java HotSpot(TM) 64-Bit Server VM (build 20.2-b06, mixed mode)
    

    Note the 3rd line, which shows that this is a 64-bit version.

    On a 32-bit version you'll get something like:

      Java HotSpot(TM) Client VM (build 20.1-b02, mixed mode, sharing) 
    

    I got this error and found that my PATH variable (on Windows) was probably changed. First in my PATH was this entry:

    C:ProgramDataOracleJavajavapath
    

    ...and Eclipse ran "C:ProgramDataOracleJavajavapathjavaw" - which gave the error. I suspect that this is something that came along with an installation of Java 8.

    I have several Java versions installed (6,7 and 8), so I removed that entry from the PATH and tried to restart Eclipse again, which worked fine.

    Instructions on how to edit PATH variable

    链接地址: http://www.djcxy.com/p/5026.html

    上一篇: android.os.NetworkOnMainThreadException清单

    下一篇: Java已启动,但返回退出代码= 13