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

时间:2013-09-04 08:41:45

标签: java eclipse error-handling

this is a picture of the error code

我刚刚下载并解压缩了Android SDK for Windows。我目前正在使用W8 64x。

27 个答案:

答案 0 :(得分:228)

错误消息指出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的文件夹中。

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

答案 1 :(得分:39)

我突然收到了这个错误。即使我没有更改配置并且没有安装任何新的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现在开始为我运行......

答案 2 :(得分:9)

它也可以是这样的:

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

答案 3 :(得分:6)

添加-vm参数对我有用。

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

答案 4 :(得分:5)

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

-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 

答案 5 :(得分:5)

OS,JDK和eclipse位的工作组合。

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

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

答案 6 :(得分:4)

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

答案 7 :(得分:3)

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

答案 8 :(得分:3)

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

中的日志文件

答案 9 :(得分:2)

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

答案 10 :(得分:2)

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

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

答案 11 :(得分: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”

    scala eclipse shortcut icon

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

答案 12 :(得分:2)

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

答案 13 :(得分:1)

我的机器上有 Java 运行时环境和 Java SDK。我删除了 Java 运行时环境,它解决了我的错误。 在此错误之前,我仅将 elipse 与 Java SDK 一起使用,后来专门为一种需求安装了 JRE。

答案 14 :(得分:0)

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

答案 15 :(得分:0)

上述答案都没有对我有帮助。我发现,一般来说,这样的错误可能意味着你的eclipse.ini有一个无效的条目。因此,所有上述答案都可能是正确的,具体取决于您的具体情况。在我的例子中,事实证明我添加了一个带有拼写错误的语言环境参数。

答案 16 :(得分:0)

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

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

答案 17 :(得分:0)

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

答案 18 :(得分:0)

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

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

-vmargs
-Dosgi.requiredJavaVersion=1.6  

在这次改变之后,Eclipse开始运行良好。由于我没有改变任何东西,我决定将它改回原来的1.6。

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

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

答案 19 :(得分:0)

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

import javafx.application.Application;
import javafx.geometry.Pos;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.layout.StackPane;
import javafx.scene.layout.VBox;
import javafx.scene.paint.Color;
import javafx.stage.Stage;

import java.util.HashMap;
import java.util.Map;

public class StagesZOrdering_Demo extends Application {
    private Map<String, Stage> stages = new HashMap<>();

    @Override
    public void start(Stage stage) throws Exception {
        Button button1 = new Button("Back");
        button1.setOnAction(e -> openStage("Back"));

        Button button2 = new Button("Middle");
        button2.setOnAction(e -> openStage("Middle"));

        Button button3 = new Button("Front");
        button3.setOnAction(e -> openStage("Front"));

        VBox root = new VBox(button1, button2, button3);
        root.setAlignment(Pos.CENTER);
        root.setSpacing(10);
        Scene sc = new Scene(root, 200, 200);
        stage.setScene(sc);
        stage.show();
    }

    private void openStage(String title) {
        if (stages.get(title) != null) {
            stages.get(title).requestFocus();
        } else {
            Stage stg = new Stage();
            stg.setTitle(title);
            stg.setScene(new Scene(new StackPane(), 300, 300, Color.GRAY));
            stg.show();
            stg.setOnHidden(e -> stages.remove(title));
            stages.put(title, stg);
        }
    }

    public static void main(String... a) {
        Application.launch(a);
    }
}

enter image description here

答案 20 :(得分:0)

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

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

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

$ java -d64 -version

$ java -d32 -version

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

答案 21 :(得分:0)

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

以前是

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

我将其更改为

-javaagent:C:\ Labmok \ lambok.jar

答案 22 :(得分:0)

  1. 在Windows计算机上打开Eclipse安装文件夹

  2. 找到eclipse.ini

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

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

答案 23 :(得分:0)

在eclipse js和eclipse php中为我工作:

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

答案 24 :(得分:0)

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

eclipse.ini :

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

答案 25 :(得分:0)

只是添加到这里......
对于那些仍然因为同样的错误而无法开始日食的人,请再次查看eclipse.ini文件,看看你忘了放M记忆大小后。 例如:

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

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

答案 26 :(得分:-4)

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