Chr*_*ltz 1 java eclipse macos jvm eclipse-oxygen
我在Mac上运行Eclipse Oxygen(1A),并且在“安装详细信息”中可以看到,IDE本身(用于实际启动JVM)当前使用的JVM是Oracle的1.8.0_131JVM。我还安装了其他一些JVM,包括最新版本,1.8.0_161并且我想切换到最新版本。
只是要清楚一点:我不是要设置在编译和/或启动特定项目的代码时使用的执行环境。我正在尝试更改启动Eclipse本身时使用的JVM。
到目前为止,我已经确保Eclipse知道我已更新的JRE,并且确实是默认的“ Installed JRE”,但是重新启动Eclipse最终会使用相同的旧JVM(1.8.0_131)。
有没有办法告诉Eclipse我想使用更新的JVM,而不直接编辑Eclipse启动脚本?(我假设我愿意的话可以这样做,但我不想这样做。)
小智 6
您需要进入 eclipse 文件夹,打开 eclipse.ini 并添加以下行:
-vm
C:/Program Files/Java/jdk1.7.0_7/bin/javaw.exe
Run Code Online (Sandbox Code Playgroud)
更改您的 java 路径的路径
在参考文档中,我们学习(基本)有关Eclipse启动器可执行文件如何查找合适的Java安装的详细信息:
-vm(可执行,主要)当传递给Eclipse可执行文件时,此选项用于查找要用于运行Eclipse的Java VM。它应该是适当的完整文件系统路径:Java
jre/bin目录,Java可执行文件,Java共享库(jvm.dll或libjvm.so)或Java VM执行环境描述文件。如果未指定,则Eclipse可执行文件使用搜索算法来定位合适的VM。无论如何,可执行文件然后使用-vm参数将路径传递到Java Main使用的实际VM。然后,Java Main将此值存储在eclipse.vm中。
可悲的是,该“ 搜索算法 ” 的结果未明确指定,从而使其“不确定”。更复杂的是:这可能是取决于平台的策略。
编辑:在Eclipse Launcher小节中,对该算法进行了更好的解释,提供了更多详细信息。
如果未
-vm指定no,则启动器首先在eclipse根目录的jre目录中查找虚拟机,然后在搜索路径中查找虚拟机。
鉴于上述“ jvm搜索”过程和(相关的)含义,您可以(仅)通过-vm在中指定路径来拥有稳定的环境eclipse.ini。这应该指向命令/usr/libexec/java_home -v 1.8* 返回的“稳定”路径。
*注意:只需通过本地终端检查此命令的结果。
在我的MacOS环境中,以上命令导致:
/Library/Java/JavaVirtualMachines/1.8.0.jdk/Contents/Home
Run Code Online (Sandbox Code Playgroud)
在下一个清单中可以看到,我创建了一个符号链接,该链接指向系统中安装的实际JDK和up2date JDK。
node:JavaVirtualMachines user$ ls -lah
total 0
drwxr-xr-x 6 root wheel 192B 18 Jan 13:35 .
drwxr-xr-x 5 root wheel 160B 6 Okt 14:28 ..
lrwxr-xr-x 1 root wheel 17B 18 Jan 13:34 1.8.0.jdk -> jdk1.8.0_161.jdk/
lrwxr-xr-x 1 root wheel 14B 3 Nov 10:42 1.9.0.jdk -> jdk-9.0.1.jdk/
drwxr-xr-x 3 root wheel 96B 3 Nov 10:40 jdk-9.0.1.jdk
drwxr-xr-x 3 root wheel 96B 18 Jan 13:32 jdk1.8.0_161.jdk
Run Code Online (Sandbox Code Playgroud)
为了进一步调查您的问题,我在本地Eclipse Oxygen.2安装中附带了一个有趣的发现,该发现也可能适用于您的情况。在下面的屏幕截图中,我们看到JRE 名称某种程度上是“静态的”,并且没有使用新版本进行更新。
单击“已安装的JRE”列表中的“编辑...”按钮,以验证您的本地情况。它实际上可能指向更新的JRE / JDK版本。在最佳情况下,您只需要调整该条目的名称即可。
希望能帮助到你。
| 归档时间: |
|
| 查看次数: |
1851 次 |
| 最近记录: |