Eclipse返回错误消息“ Java已启动但​​返回的退出代码= 1”


155

这是错误代码的图片

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



1
曾经有过类似的问题,该错误不是由Java版本引起的,而是错过了某些Java代理的库。应该有人解决这个问题:)
Niels Bech Nielsen 2014年

1
我也有同样的问题。当我安装64位JDK时,不再能够再现此错误。
Sudhakar 2014年

Answers:


264

该错误消息指出您的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系统的路径。可以在此处找到更多有关路径的信息(向下滚动)。

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

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


2
@KadoLakatt:下次请提供您自己的答案。不过,我编辑了我的帖子以解决您的观点。
卡隆2015年

1
“确保-vm选项出现在-vmargs命令之前” ...这对您的回答也很有帮助!
Vikram

2
确保键入显示的行:路径位于单独的行中,而不与-vm相同。
Diomidis Spinellis

我在javaw.exe或java.exe中遇到此错误,但是对于jvm.dll,一切正常。谢谢。
氰化物

2
我将“ .exe”更改为“ .dll”,尽管“ .exe”路径已经运行了几个月。 -vm C:/Program Files/Java/jdk1.8.0_191/jre/bin/javaw.exe TO:-vm C:/Program Files/Java/jdk1.8.0_191/jre/bin/server/jvm.dll
Reddymails

45

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

这是我的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现在开始为我运行……


1
您不仅删除了两行,还删除了四行。-vm参数也被删除,我猜这是导致故障的原因。如果您未在eclipse.ini中定义路径,则eclipse将以您定义的默认JVM开始。还要注意,-vmargs参数之后的所有内容都作为参数传递给JVM。我不确定,如果删除-vmargs,您的xms和xmx设置是否仍然有效。
卡隆2014年

2
我还删除了:-vmargs -Dosgi.requiredJavaVersion = 1.6现在可以了!感谢您的修复!
Dainius Kreivys 2014年

这也对我有用。我不确定为什么为什么会引发此错误,就像您说的那样,我没有使用Java / Eclipse进行任何更改...很奇怪
user1282637 2015年

2
安装“ 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”条目。删除其中一个已解决的问题。
Hollis Waite

我只是删除了:-vmargs -Dosgi.requiredJavaVersion=1.6我不知道它到底来自哪里,IDE过去工作得很好。
托马什Zato -恢复莫妮卡

9

也可能是这样的:

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

3
这对我有用。由于大小问题,我认为SO只是将C:\部分下移到第二行,但它只能在单独的行上工作。
IDontWorkAtNASA

@IDontWorkAtNASA是的,有时简单的点或空格或换行符会变成一个非常重要的问题!
阿布·舒蒙


6

对于那些尝试以上所有答案均未成功的人,请尝试降低-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文件位于只读共享驱动器上),请为VM分配更多内存。似乎很明显,但我忽略了一个小时。
Skurfur '17

6

OS,JDK和蚀比特率的有效组合。

  • 32位OS,32位JDK,32位Eclipse(仅32位)
  • 64位操作系统,32位JDK,32位Eclipse
  • 64位OS,64位JDK,64位Eclipse(仅64位)

请使用以上组合之一。


4

我在Windows 7、64位计算机上遇到了相同的问题。然后,我下载并安装了用于Java(包括jre)的64位jdk。这解决了问题。


如果您的Java版本已过时,只需进行Java更新也可以解决此问题。
cid

3

我也遇到过类似的问题。原因是通往日食的路径包括汉字。删除这些字符后,问题就解决了。请检查您的路径中是否有非英语字符。


3

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


2

可以通过将以下行添加到eclipse.ini文件-XX中来解决此问题:-UseCompressedOops


1
对于仅在特殊情况下有效的参数而言,这是很短的一行。Afaik,`UseCompressedOops'默认从Java 6_18开始启用。此外,它仅在Java 6及更高版本中可用,并且仅适用于64位应用程序。因此它可能会有所帮助,但仅适用于某些特定的Java版本。
卡隆2014年

2

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



1

无论是facet还是ini,直接更改eclipse文件都不是一个好主意,除非可以在eclipse中对其进行更改。遇到相同的问题,安装了jdk1.8。将其更改为jdk 1.7。在此处输入图片说明

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


1

我的是一个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”

    Scala Eclipse快捷方式图标

这几乎总是解决了我所有与Eclipse(也包括scala eclipse)有关的问题。如答案中所述 ,请确保您使用的是eclipse和java正确的组合


1

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

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
Tom Johnes

0

只是在此处添加...
对于那些仍然由于相同的错误而仍无法启动eclipse的人,请再次检查eclipse.ini文件,看看是否忘记了M存储空间。例如:

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

不正确,应该是-Xmx1024M。我一直在尝试从SOF和其他论坛尝试不同的想法,在这种剪切/粘贴操作中,我忘记了我错过了M(错过了这么少的东西),所以我想我应该分享一下。如果对某些人有用,请投票。


0

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

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

-vmargs
-Dosgi.requiredJavaVersion=1.6  

进行此更改后,Eclipse运行良好,并且运行良好。由于我没有进行任何更改,因此我决定将其更改为1.6。

然后我开始日食并猜测它的作用。因此,就我而言,仅触摸/修改eclipse.ini文件就可以了。

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


0

如果没有解决方案,请检查计算机上是否安装了多个Java版本。请仅保留您喜欢的一个版本,并且一切正常。


0

以上答案对我没有帮助。我发现,一般来说,这样的错误可能意味着您的eclipse.ini输入无效。因此,以上所有答案可能都是正确的,具体取决于您的具体情况。就我而言,事实证明我添加了一个带有错字的语言环境参数。


0

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



0

我的-javaagent参数路径是使用'&'之类的空格字符。我将兰博克罐子放在其他地方,并给了通往那个地方的路。它为我工作。

以前是

-javaagent:C:\ Software&Tool \ lambok.jar

我将其更改为

-javaagent:C:\ Labmok \ lambok.jar


-4

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


这不是必需的,我不知道这应该如何帮助。可能还有其他程序正在访问该jre,此后将不再找到它。
卡隆2014年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.