首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Mars坚持一个不存在的Java版本。我怎么才能改变呢?

Mars坚持一个不存在的Java版本。我怎么才能改变呢?
EN

Stack Overflow用户
提问于 2020-05-04 21:01:14
回答 1查看 61关注 0票数 0

出于与我所从事的项目相关的原因,我需要使用和Java1.7。我已经尝试过将设置为使用这个版本的,但是Eclipse将指向另一个JDK。我尝试通过eclipse.ini覆盖配置。我试着删除我拥有的所有版本的Java,并且只重新安装我想要的JDK。我尝试从终端打开Eclipse,同时也试图从那里覆盖设置。到目前为止,我从Eclipse和Java的所有版本以及相关的环境变量中删除了每个文件夹,并从头开始(再次)。我在C:中有我的JDK文件夹,我的%JAVA_HOME%指向C:/jdk1.7/bin,而eclipse.ini有-vm¶C:\jdk1.7\bin (我已经确定我使用了正确的换行符,并且在vm\/之前尝试用单行和双破折号连接到JDK文件夹)。当我试图打开Eclipse时,它会崩溃,因为它在寻找C:\jre7\lib\amd64\jvm.cfg (jre7不存在)。当我单击“确定”到那个窗口时,我会收到另一个命令:

代码语言:javascript
复制
Java was started but returned exit code=1
C:\Windows\**system32**\javaw.exe
-jar
C:\Users\myuser\eclipse\plugins\org.eclipse.equinox.launcher_1.3.100.v2015
0511-1540.jar
-os win32
-ws win32
-arch x86_64
-showsplash
-launcher C:\Users\myuser\eclipse\eclipse.exe
-name Eclipse-mars
--launcher.library
C:\Users\myuser\eclipse\plugins\org.eclipse.equinox.launcher.win32.win32.x86_64_1.1.300v20150602-1417\eclipse_1611.dll
-startup
C:\Users\myuser\eclipse\plugins\org.eclipse.equinox.launcher_1.3.100.v2015
0511-1540.jar
--launcher.overrideVmargs
-exitdata 13a0_f0
-vm C:\Windows\**system32**\javaw.exe
-vmargs
-jar
C:\Users\myuser\eclipse\plugins\org.eclipse.equinox.launcher_1.3.100.v2015
0511-1540.jar

注意,它引用了system32,这是一个从未在其中安装或定位过的文件夹,而且在任何设置中都没有被我设置过。我有一周时间想办法解决这个问题,在我的同事中,只有我一个人有这个问题。我的操作系统是Windows 10。

EN

回答 1

Stack Overflow用户

发布于 2020-05-04 21:35:28

“使用哪个JDK是eclipse”有两个完全不同的概念:

  • Eclipse本身是一个用java编写的应用程序。它运行在哪个JVM (java.exe)上?
  • 在eclipse中开发java代码时,eclipse需要一个JVM用于各种用途:例如,要知道java.lang.String存在。或运行或调试此项目。Eclipse可以配置任意数量的java安装,任何给定的项目都可以使用您告诉eclipse的任何VM。运行eclipse的VM不必与您在eclipse中编写的用于运行/调试java项目的VM相同,也不必用作这些projects.

的引导路径

我很难理解为什么您必须在1.7VM上运行eclipse本身。因此,不要;转到preferences,搜索“已安装的JRE”,并添加1.7JRE。然后右键单击一个项目build path,您可以告诉eclipse使用该JRE/JDK运行该项目并充当它的引导路径。

在1.7上运行eclipse的唯一真正原因是,如果您被迫使用一些过时的eclipse插件,而这些插件在1.8+上却没有正常运行--不太可能。

在这种情况下,-vm参数不是指向可执行文件的对象。

正确的论点是类似于C:\Program Files\Java\1.7.025 --我不太确定dir结构在windows安装上是如何工作的,但它应该是您找到'java.exe‘的目录。而不是指向实际java的java.exe (即C:\Windows\System32 32中的java)对本练习没有用处。您也不包括'javaw.exe‘在这里。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61601544

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档