【问题标题】:Eclipse returns error message "Java was started but returned exit code = 1"Eclipse 返回错误消息“Java 已启动但返回退出代码 = 1”
【发布时间】:2023-05-02 16:55:01
【问题描述】:

This is a picture of the error code

这是错误信息的内容:

Java was started but returned exit code=1

C:\WINDOWS\system32\javaw.exe
-Dosgi.requiredJavaVersion=1.6
-Xms40m
-Xmx768m
-Declipse.buildId=v22.0.5-757759
-XX:MaxPermSize=256m
-jar
D:\Programming\adt-bundle-windows-x86_64-20130729\eclipse\\plugins/org.eclipse.equinox.launcher_1.3.0.v20120522-1813.jar
-os win32
-ws win32
-arch x86_64
-showsplash
-launcher
D:\Programming\adt-bundle-windows-x86_64-20130729\eclipse\eclipse.exe
-name Eclipse
--launcher.library
D:\Programming\adt-bundle-windows-x86_64-20130729\eclipse\\plugins/org.ecl
ipse.equinox.launcher.win32.win32.x86_64_1.1.200.v20120913-144807\eclipse_1503
.dll
-startup
D:\Programming\adt-bundle-windows-x86_64-20130729\eclipse\\plugins/org.eclipse.equinox.launcher_1.3.0.v20120522-1813.jar
--launcher.overrideVmargs
-exitdata 1c50_48
-product com.android.ide.eclipse.adt.package.product
-vm C:\WINDOWS\system32\javaw.exe
-vmargs
-Dosgi.requiredJavaVersion=1.6
-Xms40m
-Xmx768m
-Declipse.buildId=v22.0,5-757759
-XX:MaxPermSize=256m
-jar
D:\Pragramming\adt-bundle-windows-x86_64-20130729\eclipse\\plugins/org.eclipse.equinox.launcher_1.3.0.v20120522-1813.jar

我刚刚下载并取消了适用于 Windows 的 android SDK。我目前正在使用 W8 64x。

【问题讨论】:

  • 曾经遇到过类似的问题,错误不是java版本引起的,而是错过了一些java-agent的库。如果有人遇到这个问题:)
  • 我也有同样的问题。当我安装 64 位 JDK 时,此错误不再能够重现。

标签: java eclipse error-handling


【解决方案1】:

错误消息指出您的 Java 版本存在问题。你有安装JDK吗?

尝试添加以下内容(注意新行):

/!\ 确保-vm 选项出现在-vmargs 命令之前-vmargs 之后的所有内容都直接传递给 JVM。

-vm 
c:/wherever/java/jdk1.6.0_21/jre/bin/server/jvm.dll
-vmargs... 

...到您的eclipse.ini 文件,指向您要使用的JDK,并检查所需的Java 版本是否至少与您的JDK 一样新。这是 Windows 系统的路径。有关路径的更多信息,请参阅here(向下滚动)。

如果您不知道eclipse.ini 文件在哪里:通常它位于您的eclipse.exe 文件夹中。

Edit2: @KadoLakatt:安装最新的 Java 版本对你有用的原因是 Eclipse 会检查 JVM 的标准路径,如果它没有找到-vm 条目(请参阅 here)。但是我不建议这样做,因为您可能会错误地猜测所使用的 JVM。如果您更新 Java(自动?),您可能会在 Eclipse 中遇到问题,想知道您可能更改了什么。最好将其设置为您的eclipse.ini 中的特定文件夹以确保。

【讨论】:

  • @KadoLakatt:下次请提供您自己的答案。不过,编辑了我的帖子以解决您的问题。
  • '确保 -vm 选项出现在 -vmargs 命令之前'...这对我的回答也有很大帮助!
  • 确保键入显示的行:路径在单独的行中,与 -vm 不同。
  • 我在使用 javaw.exe 或 java.exe 时遇到此错误,但使用 jvm.dll 时一切正常。谢谢。
  • 我从“.exe”更改为“.dll”,尽管“.exe”路径在几个月前就可以使用。 -vm C:/Program Files/Java/jdk1.8.0_191/jre/bin/javaw.exe收件人:-vm C:/Program Files/Java/jdk1.8.0_191/jre/bin/server/jvm.dll
【解决方案2】:

我的是64位系统,安装64位java。 对我有用的是:

  1. 进入eclipse安装目录
  2. 右击eclipse图标,点击“作为快捷方式发送到桌面”
  3. 然后右击桌面快捷方式图标,然后>属性>快捷方式标签
  4. 在目标字段中,使用 vm 参数将其指向正确的 java 64 位安装主路径,java_home 路径用引号括起来,如下所示:

    D:\Scala_eclipse\eclipse.exe -vm "C:\Program Files\Java\jdk1.8.0_11"

这几乎总能解决我所有与 Eclipse(以及 scala eclipse)相关的问题。 如answer 中所述,请确保您使用的是 eclipse 和 java 的正确组合

【讨论】:

  • 这和编辑eclipse.ini是一样的。这样会更整洁
  • @arunwithasmile 是的,应该是这样的。但因为它不起作用,我不知道为什么。从这个人的回答来看,它起作用了。
【解决方案3】:

我也遇到过类似的问题。原因是我的eclipse的路径中包含了汉字。删除这些字符后,问题就解决了。请检查您的路径中是否有英文以外的字符。

【讨论】:

    【解决方案4】:

    也可以这样:

    -vm 
    C:\Program Files\Java\jre6\bin\server\jvm.dll
    

    【讨论】:

    • 这对我有用。由于大小问题,我认为 SO 只是将 C:\ 部分移至第二行,但它在单独的行上工作。
    • @IDontWorkAtNASA 是的,有时简单的点或空格或换行符会成为一个非常重要的问题!
    【解决方案5】:

    我突然收到了这个错误。即使我没有进行任何配置更改并且没有安装任何新的 jdk,Eclipse 也停止工作。

    这是我的 eclipse.ini 文件:

    --clean
    -startup
    plugins/org.eclipse.equinox.launcher_1.3.0.v20130327-1440.jar
    --launcher.library
    plugins/org.eclipse.equinox.launcher.win32.win32.x86_1.1.200.v20130807-1835
    -product
    org.eclipse.epp.package.jee.product
    --launcher.defaultAction
    openFile
    --launcher.XXMaxPermSize
    256M
    -showsplash
    org.eclipse.platform
    --launcher.XXMaxPermSize
    256m
    --launcher.defaultAction
    openFile
    -vm
    C:/Program Files (x86)/Java/jre7/bin/javaw.exe
    --launcher.appendVmargs
    -vmargs
    -Dosgi.requiredJavaVersion=1.6
    -Xms40m
    -Xmx1024m
    

    为了让 Eclipse 成功启动,我删除了

        -vmargs
        -Dosgi.requiredJavaVersion=1.6
        -vm 
    C:/Program Files (x86)/Java/jre7/bin/javaw.exe
    

    所以这是我的更新文件:

    --clean
    -startup
    plugins/org.eclipse.equinox.launcher_1.3.0.v20130327-1440.jar
    --launcher.library
    plugins/org.eclipse.equinox.launcher.win32.win32.x86_1.1.200.v20130807-1835
    -product
    org.eclipse.epp.package.jee.product
    --launcher.defaultAction
    openFile
    --launcher.XXMaxPermSize
    256M
    -showsplash
    org.eclipse.platform
    --launcher.XXMaxPermSize
    256m
    --launcher.defaultAction
    openFile
    -Xms40m
    -Xmx1024m
    

    我不知道为什么删除 osgi.requiredJavaVersion=1.6 会解决这个问题,因为我的 jvm 版本是 1.6。来自文档http://help.eclipse.org/indigo/index.jsp?topic=%2Forg.eclipse.platform.doc.isv%2Freference%2Fmisc%2Fruntime-options.html

    osgi.requiredJavaVersion
    The minimum java version that is required to launch Eclipse. The default value is "1.4.1".
    

    我认为我的 java 版本设置正确。无论如何,Eclipse 现在为我启动并运行......

    【讨论】:

    • 您不仅删除了那里的两行,还删除了四行。 -vm 参数也被删除,我猜这就是导致故障的原因。当您没有在 eclipse.ini 中定义路径时,eclipse 将使用您定义的默认 JVM 启动。另请注意,-vmargs 参数之后的所有内容都作为参数传递给 JVM。我不确定,如果您删除 -vmargs,您的 xms 和 xmlx 设置是否仍然有效。
    • 我也删除了:-vmargs -Dosgi.requiredJavaVersion=1.6 现在它可以工作了!感谢您的修复!
    • 这对我也有用。我不确定为什么它会抛出这个错误,就像你说的那样,我没有用我的 Java/Eclipse 改变任何东西......奇怪
    • 安装“Eclipse SDK”插件后,我在 Windows 机器上收到此错误。 Eclipse 默默地将-vm C:/Program Files/Java/jdk1.8.0_45/bin/javaw.exe 添加到 eclipse.ini 文件中,请求重新启动,然后启动失败。过去,我手动添加了-vm C:\Program Files\Java\jdk1.8.0_45\bin\javaw.exe。发生错误是因为我留下了两个“-vm”条目。删除其中一个解决了问题。
    • 我只删除了:-vmargs -Dosgi.requiredJavaVersion=1.6 我不知道它是从哪里来的,IDE 过去工作得很好。
    【解决方案6】:

    操作系统、JDK 和 Eclipse 位的工作组合。

    • 32 位操作系统、32 位 JDK、32 位 Eclipse(仅限 32 位)
    • 64 位操作系统、32 位 JDK、32 位 Eclipse
    • 64 位操作系统、64 位 JDK、64 位 Eclipse(仅限 64 位)

    请使用上述组合中的一种。

    【讨论】:

      【解决方案7】:

      我的机器上有 Java 运行时环境和 Java SDK。我删除了 Java 运行时环境,它解决了我的错误。 早些时候这个错误,我只使用带有 Java SDK 的 elipse,后来专门为一个需要安装了 JRE。

      【讨论】:

      • 很可能是 JRE 的安装改变了 JAVA_HOME 环境变量,影响了 eclipse 的启动
      【解决方案8】:

      如果您安装了 java 8,则可能与以下问题有关: https://support.oracle.com/knowledge/Middleware/2412304_1.html

      只需删除/重命名“C:\Program Files (x86)\Common Files\Oracle\Java\javapath”即可。

      【讨论】:

        【解决方案9】:

        直接更改eclipse文件不是一个好主意,无论是facet还是ini,除非它可以在eclipse中更改。有同样的问题,安装了jdk1.8。改成jdk 1.7.

        另外,根据https://wiki.eclipse.org/Eclipse/Installation,LUNA 和 MARS 都需要 1.7。因此,请确保已安装它。

        【讨论】:

          【解决方案10】:

          1 ) 打开 SpringToolSuite4.ini 文件。
          2 ) 搜索openFile
          3 ) 在SpringToolSuite4.ini中提供jvm.dll文件位置
          4 ) 注意:在 -vm 和您的 jvm.dll 文件位置路径之间提供新行。如下所示。

          openFile
          -vm 
          C:\Program Files\Java\jre8\bin\server\jvm.dll
          -vmargs
          -Dosgi.requiredJavaVersion=1.8
          -Xms256m
          

          【讨论】:

          • 这解决了我的问题。我用 c:\Program Files\Java\jdk1.8.0_211\jre\bin\server\jvm.dll 编辑了 -vm 谢谢Lova
          【解决方案11】:

          对于那些尝试了上述所有答案但没有成功的人,请尝试降低您的 -Xms 值。我需要支持较旧的 Eclipse (Weblogic Eclipse 10.3.6) - 我在我的 Windows 7 机器和我的 Windows Server 2008 R2 Enterprise VM(下面的 Java 版本指向 32 位 Java)上有以下 .ini分别工作和完美地工作。

          -vm
          C:/Java/Java7/jdk1.7.0_79/bin/javaw.exe
          -startup
          plugins/org.eclipse.equinox.launcher_1.3.0.v20120522-1813.jar
          --launcher.library
          plugins/org.eclipse.equinox.launcher.win32.win32.x86_1.1.200.v20120522-1813
          -showsplash
          org.eclipse.platform
          --launcher.defaultAction
          openFile
          -vmargs
          -Xms1024m
          -Xmx1024m
          -XX:MaxPermSize=256m
          -Dsun.lang.ClassLoader.allowArraySyntax=true
          -Dweblogic.home=C:/Oracle/Middleware/wlserver_10.3
          

          因此,32 位 Eclipse 的 32 位 Java,但仍然退出代码 1。根据我在这里看到的所有答案,唯一的变化是一台装有 Windows 10 的新笔记本电脑,唯一可能的解释是新操作系统和 Eclipse 在某些事情上存在分歧。所以我开始尝试每个值,当我将 Xms 和 Xmx 都降低到 512m 时,它起作用了。我有一种预感,新的 Windows 操作系统可能会根据某些运行条件阻止更高的初始堆大小(更高的 -Xms 确实在我遇到的所有其他类似设备上的 Windows 10 上工作) - 所以欢迎任何其他解释。同时,以下是我为成功启动 Eclipse 而调整的唯一值。

          -Xms512m 
          

          【讨论】:

          • 如果您使用的是虚拟机 (VM) 并且无法降低 -Xms 值(例如,bat 文件位于只读共享驱动器上),则分配更多内存给虚拟机。看起来很明显,但我忽略了一个小时。
          【解决方案12】:

          添加-vm 参数对我有用。

          -vm 
          C:\Program Files\Java\jdk1.7.0_45\jre\bin\server\jvm.dll
          

          【讨论】:

            【解决方案13】:

            我也遇到了类似的问题,在 eclipse.ini 文件中添加命令后没有解决。我的根本原因是不同的。我正在使用 objectaid 对序列图进行试验。这引发了异常并扰乱了我的工作空间。在处理新插件时,您可能会遇到不同的问题。最好检查位于项目工作区C:\path\to\workspace\.metadata\.log的日志文件

            【讨论】:

              【解决方案14】:

              我遇到了同样的问题,这是由于我的 Windows 10 崩溃关闭造成的。在路径的前面,我有 Oracle 路径,即 Oracle 在安装 JDK 时插入的路径。我将其删除并更改了 JDK 位置的路径。这样就解决了问题。

              【讨论】:

                【解决方案15】:

                这可以通过在 eclipse.ini 文件中添加以下行来解决 -XX:-UseCompressedOops

                【讨论】:

                • 这是一个非常短的参数,它只在特殊情况下有效。 Afaik,从 Java 6_18 开始默认启用“UseCompressedOops”。此外,它仅适用于 Java 6 及更高版本,并且仅适用于 64 位应用程序。所以它可能会有所帮助,但仅限于某些特定的 Java 版本。
                【解决方案16】:

                我在 Windows 7 64 位机器上遇到了同样的问题。然后我下载并安装了 Java 的 64 位 jdk(包括 jre)。这解决了问题。

                【讨论】:

                • 如果您的 Java 版本过时,只需进行 Java 更新也可以解决此问题。
                【解决方案17】:

                只是在这里添加...
                对于那些由于同样的错误仍然无法启动 eclipse 的人,请再次检查 eclipse.ini 文件,看看您是否忘记在内存大小后放置 M。 例如:

                -Xmx1024
                or
                -Xmx1024MB
                or
                -Xmx1024 M
                or
                -Xmx1024 mb
                or
                -Xmx1024mb
                

                不正确,应该是-Xmx1024M。我一直在尝试来自 SOF 和其他论坛的不同想法,在这个剪切/粘贴中我忘记了我错过了M(这样的小事要错过),所以我想我应该分享一下。如果它对你们中的一些人有用,请投票。

                【讨论】:

                  【解决方案18】:

                  我最近遇到这个问题,但是我没有更改任何java或更新java版本,可能是由于系统崩溃关闭而发生的这个问题。

                  在这里阅读了几个答案后,我决定将 eclipse.ini 文件中的 java 版本从 1.6 更改为 1.7。

                  -vmargs
                  -Dosgi.requiredJavaVersion=1.6  
                  

                  在此更改之后,Eclipse 启动良好并且工作正常。由于我没有更改任何内容,因此我决定将其更改回 1.6 的原始版本。

                  然后我开始 eclipse 并猜测它的工作原理。所以看起来在我的情况下只是触摸/修改 eclipse.ini 文件就可以了。

                  我希望这个答案对某人有所帮助。

                  【讨论】:

                    【解决方案19】:

                    如果这些解决方案都不起作用,请检查您的机器上是否安装了多个版本的 java。请只保留一个您喜欢的版本,一切正常。

                    【讨论】:

                      【解决方案20】:

                      以上答案都对我没有帮助。我发现,一般来说,这样的错误可能意味着你的 eclipse.ini 有一个无效的条目。因此,根据您的具体情况,上述所有答案都可能是正确的。就我而言,结果是我添加了一个带有拼写错误的语言环境参数。

                      【讨论】:

                        【解决方案21】:

                        我尝试更改参数-vm中的路径,但没有帮助。然后我从 eclipse.ini 中删除了参数 -vm 和 -vmargs。 它对我有用

                        【讨论】:

                          【解决方案22】:

                          我的 -javaagent 参数路径包含空格字符,例如“&”。我将 Lambok 罐子放在不同的地方,并给出了通往那个地方的路径。它对我有用。

                          以前是

                          -javaagent:C:\软件和工具\lambok.jar

                          我改成

                          -javaagent:C:\Labmok\lambok.jar

                          【讨论】:

                            【解决方案23】:

                            请检查您的计算机,如果没有安装Java JRE,请下载并安装它。

                            如果安装,请根据您的操作系统检查它是 32 位还是 64 位

                            要检查 32 位或 64 位 JVM,请运行:

                            $ java -d64 -version
                            
                            $ java -d32 -version
                            

                            错误:此 Java 实例不支持 X 位 JVM。 请安装所需的版本。

                            【讨论】:

                              【解决方案24】:
                              1. 在 Windows 机器上打开 Eclipse 安装文件夹

                              2. 找到eclipse.ini

                              3. 打开eclipse.ini文件,在-vmargs前添加以下两行

                                -vm 
                                C:\Users\IshaqKhan\jdk1.8.0_173\bin\javaw.exe
                                

                              【讨论】:

                                【解决方案25】:

                                这适用于我在 eclipse js 和 eclipse php 中:

                                 -vm
                                 C:/java/jdk-11.0.1/bin/javaw.exe
                                 --launcher.appendVmargs
                                 -vmargs
                                

                                【讨论】:

                                  【解决方案26】:

                                  我遇到了类似的问题。我打开了我的 eclipse.ini 文件,注意到我在最后为 lombok 库配置了一些行。我的 lombok jar 文件的路径不再有效。改正后,我的日食又像魅力一样工作了。总之,我的建议是验证此文件中配置的所有路径是否有效。

                                  eclipse.ini:

                                  -...
                                  -javaagent:C:\some\path\to\lombok.jar
                                  -Xbootclasspath/a:C:\some\path\to\lombok.jar
                                  

                                  【讨论】:

                                    【解决方案27】:

                                    JAVA 路径可能不正确

                                    尝试上述解决方案对我没有帮助。 所以我在命令提示符下检查了 java --version,这导致了虚拟化冲突。似乎在系统上安装虚拟化软件弄乱了环境变量。

                                    因此我检查了正确路径上的 JAVA_HOME,然后检查了 系统变量 PATH 也具有正确的 JAVA bin 路径,因此将其删除'C:\Program Files (x86)\Common Files\Oracle\Java\javapath' 并再次在命令提示符下检查 java --version,它给出了正确的值,并且修复了上面的eclipse启动问题。

                                    【讨论】:

                                      【解决方案28】:

                                      如果它说 c:/program files/java/jre/bin/server/jvm.dll 未找到 然后从 jdk 文件夹中复制 jre 并将其粘贴到 jdk 文件夹之外。然后再试一次...

                                      【讨论】:

                                      • 这不是必需的,我不知道这应该有什么帮助。可能有其他程序访问该 jre,之后将找不到它。