当前位置: 首页 > 知识库问答 >
问题:

在comand行成功构建后,我会终止Eclipse error JVM。退出代码=1

仲皓君
2023-03-14

我正在为C/C++开发人员使用eclipse IDE(包括孵化组件)版本:2021-03(4.19.0)构建ID:20210312-0638

eclipse GUI工作得很好,我能够编译我的代码。我有兴趣通过命令行编译eclipse项目(这样我就可以作为CI管道的一部分运行它)。

当我通过命令行编译它时,我的构建是成功的,我得到了一个二进制文件。问题是我得到了“JVM终止。Exit code=1”,这使得我的管道失败。

这是我用来编译的命令

./eclipse -nosplash --launcher.suppressErrors  -application org.eclipse.cdt.managedbuilder.core.headlessbuild -import /<path_to_project>/ -data /<eclipse_work_space> -build <project_name>/Debug
Eclipse:
JVM terminated. Exit code=1
/usr/lib/jvm/java-11-openjdk-amd64/bin/java
-Dosgi.requiredJavaVersion=11
-Dosgi.instance.area.default=@user.home/eclipse-workspace
-Dsun.java.command=Eclipse
-XX:+UseG1GC
-XX:+UseStringDeduplicathtml" target="_blank">ion
--add-modules=ALL-SYSTEM
-Dosgi.requiredJavaVersion=11
-Dosgi.dataAreaRequiresExplicitInit=true
-Dorg.eclipse.swt.graphics.Resource.reportNonDisposed=true
-Xms256m
-Xmx2048m
--add-modules=ALL-SYSTEM
-Declipse.p2.max.threads=10
-Doomph.update.url=http://download.eclipse.org/oomph/updates/milestone/latest
-Doomph.redirection.index.redirection=index:/->http://git.eclipse.org/c/oomph/org.eclipse.oomph.git/plain/setups/
-jar /home/drone/eclipse/cpp-2021-03/eclipse//plugins/org.eclipse.equinox.launcher_1.6.100.v20201223-0822.jar
-os linux
-ws gtk
-arch x86_64
-launcher /home/drone/eclipse/cpp-2021-03/eclipse/eclipse
-name Eclipse
--launcher.library /home/drone/.p2/pool/plugins/org.eclipse.equinox.launcher.gtk.linux.x86_64_1.2.100.v20210209-1541/eclipse_11301.so
-startup /home/drone/eclipse/cpp-2021-03/eclipse//plugins/org.eclipse.equinox.launcher_1.6.100.v20201223-0822.jar
--launcher.appendVmargs
-exitdata 20
-product org.eclipse.epp.package.cpp.product
-application org.eclipse.cdt.managedbuilder.core.headlessbuild
-import /home/drone/azure_agent/_work/1/s/projects/RT-Linux/
-data /var/tmp/ee
-build linux_sim/Debug
-vm /usr/lib/jvm/java-11-openjdk-amd64/bin/java
-vmargs
-Dosgi.requiredJavaVersion=11
-Dosgi.instance.area.default=@user.home/eclipse-workspace
-Dsun.java.command=Eclipse
-XX:+UseG1GC
-XX:+UseStringDeduplication
--add-modules=ALL-SYSTEM
-Dosgi.requiredJavaVersion=11
-Dosgi.dataAreaRequiresExplicitInit=true
-Dorg.eclipse.swt.graphics.Resource.reportNonDisposed=true
-Xms256m
-Xmx2048m
--add-modules=ALL-SYSTEM
-Declipse.p2.max.threads=10
-Doomph.update.url=http://download.eclipse.org/oomph/updates/milestone/latest
-Doomph.redirection.index.redirection=index:/->http://git.eclipse.org/c/oomph/org.eclipse.oomph.git/plain/setups/
-jar /home/drone/eclipse/cpp-2021-03/eclipse//plugins/org.eclipse.equinox.launcher_1.6.100.v20201223-0822.jar 

这是eclipse.ini文件:

-startup
plugins/org.eclipse.equinox.launcher_1.6.100.v20201223-0822.jar
--launcher.library
/home/drone/.p2/pool/plugins/org.eclipse.equinox.launcher.gtk.linux.x86_64_1.2.100.v20210209-1541
-product
org.eclipse.epp.package.cpp.product
-showsplash
/home/drone/.p2/pool/plugins/org.eclipse.epp.package.common_4.19.0.20210311-1200
--launcher.defaultAction
openFile
--launcher.appendVmargs
-vm
/usr/lib/jvm/java-11-openjdk-amd64/bin/java
-vmargs
-Dosgi.requiredJavaVersion=11
-Dosgi.instance.area.default=@user.home/eclipse-workspace
-Dsun.java.command=Eclipse
-XX:+UseG1GC
-XX:+UseStringDeduplication
--add-modules=ALL-SYSTEM
-Dosgi.requiredJavaVersion=11
-Dosgi.dataAreaRequiresExplicitInit=true
-Dorg.eclipse.swt.graphics.Resource.reportNonDisposed=true
-Xms256m
-Xmx2048m
--add-modules=ALL-SYSTEM
-Declipse.p2.max.threads=10
-Doomph.update.url=http://download.eclipse.org/oomph/updates/milestone/latest
-Doomph.redirection.index.redirection=index:/->http://git.eclipse.org/c/oomph/org.eclipse.oomph.git/plain/setups/

我在发布之前进行了搜索,但在通过命令行编译时没有发现这个问题。

Edit:我完全可以用一种方法来抑制这个错误(这样我的管道就不会因为这个错误而失败),如果它会的话;在构建过程中不会抑制编译错误。

共有1个答案

洪博艺
2023-03-14

我已经解决了我的问题,所以为了后代,我将解释我的具体问题,但主要是为了对“JVM终止”的原因提供一个更一般性的解释。当通过CLI在无注意模式下使用eclipse时,退出code=1“。这是可能的原因之一(大多数处理此错误的线程将其归因于Eclipse.ini文件中设置的内存值不足)。

万恶的根源是eclipse传达错误的方式。在最好的情况下,eclipse将中止构建,并显式地声明发生了什么(感谢eclipse论坛的David Vavra提供的示例):

Project: file:<whatever> can't be found!
 Warning: Nashorn engine is planned to be removed from a future JDK release
 Saving workspace.
 Eclipse:
 JVM terminated. Exit code=1
Workspace already in use!
 Eclipse:
 JVM terminated. Exit code=1

在最坏的情况下,eclipse不仅不会说明哪里出了问题,还会说明一切都很好。在我的例子中,eclipse发送到stdout:

Finished building target: linux_sim
 
15:20:20 Build Finished. 0 errors, 11 warnings. (took 9m:18s.202ms)

Eclipse:
JVM terminated. Exit code=1

因此,在我的具体案例中,作为eclipse项目的一部分,我有一个调试构建和一个发布构建。我使用一个工具链进行交叉编译,我的所有构建都使用调试设置编译,而发布则不进行维护。很长一段时间以来,我已经从toolchain X移到了Y,但没有更新发布设置的“路径”和“前缀”,也没有从我的机器上删除不推荐的toolchain。当我使用GUI时,这个工作很好。

当我在一个不注意的模式下使用eclipse时,我明确地声明我只想通过states-build /Debug编译调试设置,而eclipse只编译调试设置。

从命令行:

15:11:02 **** Build of configuration Debug for project linux_sim ****
**** Build of configuration Release for project linux_sim **** 
Unable to find full path for "arm-poky-linux-gnueabi-gcc"
Unable to find full path for "arm-poky-linux-gnueabi-g++"

一旦我从不推荐的工具的“前缀”和“路径”中清除了发布配置,就会“JVM终止”。退出代码=1“*问题消失。

这个问题的真正优点(除了eclipse加载设置之外,它不应该加载)是,尽管“无法找到”arm-poky-linux-gnueabi-gcc的完整路径“,但”可以作为向stdout发送一个“JVM终止”的原因。eclipse没有中止构建过程,并允许它以“success”消息结束,然后才发送“JVM terminated”。Exit CODE=1“消息发送到stdout,但不提供任何原因。

 类似资料:
  • 我最近决定开始尝试Android应用程序开发,所以我下载了用于Windows的Java SE development Kit 8(x86)(我得到了Windows 8 64bit,但我的指南推荐使用32bit)、Android SDK和用于Java开发人员的Eclipse IDE(x86)。 我尝试将Java添加到环境变量中的路径变量中,正如我查阅的一些解决方案中所建议的那样,但它仍然不能正常启动

  • 我有3个node K8S集群,我创建了3个副本POD,所有的POD上都运行了Application-App1,我通过运行服务yaml文件建立了服务,我可以看到我的集群-IP通过运行kubectl get服务创建的 当我尝试从其中一个节点进行卷曲时,我得到了“卷曲:(7)连接失败-连接失败”,当我尝试在我得到的pod内卷曲时...“命令终止,退出代码7” 运行的命令: kubectl运行kubia-

  • 我下载了birt-report-designer-all-in-one-2_5_0。环境是windows 7,8GB内存,64位操作系统和JDK1.6.0_45(64位),但在启动时抛出此错误 我的eclipse.ini是 -启动插件/org.eclipse.equinox.launcher_1.0.200.v20090520.jar --Launcher.Library plugins/org.

  • 问题内容: 如何防止gnome-terminal退出给定命令后退出? 我正在从cronjob调用gnome-terminal,以创建用户可访问的终端。最初为终端提供了要运行的特定程序。例如 这很好,除了退出“ myprog”时,gnome-terminal也是如此。我如何保持它运行,而只是回到终端提示符? 问题答案: 尝试这个:

  • 我习惯于在我的 vscode 中使用 WSL 来编写 cpp 代码。 今天我在vscode中配置了Go,并在powershell cmd中成功运行。 但是,当我转到WSL时,它以“4294967295”终止。我搜索了很多资源,但不知道如何解决它。 这是我的设置.json文件和快照在 vs 代码。有人可以帮助我吗?谢谢! 在此处输入图像描述在此输入图像描述

  • 我使用以下命令在Ubuntu14.04上安装了Java Open JRE和JDK; 当我试图启动Eclipse时,下面的错误不断出现。 我的日食。ini文件就像 请帮我解决这个问题,因为我已经尝试了一些解决方案,但它仍然不断出现。java版本如下 java版本“1.7.0_181”OpenJDK运行时环境(IcedTea 2.6.14)(7u181-2.6.14-0ubuntu0.2)OpenJD