这是一个类似的问题: Eclipse can't find jdk installed with sdkman
我在 Mac (macos-mojave
) 上仍然面临这个问题
我的
/usr/bin/java
/usr/bin/javac
指向
/System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands/java
/System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands/javac
分别。
软件开发人员!确实为 SDKMAN! 的默认 Java 版本安装了正确的 java
和 javac
。
因此,我确实有合适的 java
和 javac
:
% java -version
openjdk version "11.0.3" 2019-04-16
OpenJDK Runtime Environment AdoptOpenJDK (build 11.0.3+7)
OpenJDK 64-Bit Server VM AdoptOpenJDK (build 11.0.3+7, mixed mode)
% javac -version
javac 11.0.3
但是,我没有安装任何 Java 版本:
ls -la /Library/Java/JavaVirtualMachines
total 0
drwxr-xr-x 2 root wheel 64 Jun 19 10:06 .
drwxr-xr-x 4 root wheel 128 Apr 16 06:16 ..
编辑:
我还尝试更新 /Applications/SpringToolSuite4.app/Contents/Eclipse/SpringToolSuite4.ini
中的 JVM 引用(与 Eclipse.ini
相当):
-vm
/Users/johndoe/.sdkman/candidates/java/current/bin/java
-startup
../Eclipse/plugins/org.eclipse.equinox.launcher_1.5.300.v20190213-1655.jar
--launcher.library
../Eclipse/plugins/org.eclipse.equinox.launcher.cocoa.macosx.x86_64_1.1.1000.v20190125-2016
-product
org.springframework.boot.ide.branding.sts4
--launcher.defaultAction
openFile
-vmargs
-Dosgi.requiredJavaVersion=1.8
-Xms256m
-Xmx1024m
-XX:+UseG1GC
-XX:+UseStringDeduplication
--add-modules=ALL-SYSTEM
-XstartOnFirstThread
-Dorg.eclipse.swt.internal.carbon.smallFonts
-Xdock:icon=../Resources/sts4.icns
我确实得到了 STS 的启动画面,但它仍然报告没有安装 JVM(参见屏幕截图)
Eclipse.app
和 SpringToolSuite4.app
似乎都需要传统上安装正确的 JDK,而不是使用 SDKMAN!
我真的不想安装SDKMAN之外的JDK!
有人让这个工作吗?
谢谢!
最佳答案
以下是我如何让它在 MacOS Catalina 上工作 [1]。
我必须将 eclipse.ini
中的 -vm
路径设置为:
/Users/<YOUR_USER>/.sdkman/candidates/java/current/lib/jli/libjli.dylib
显然 MacOS 上的 Eclipse 总是使用 JNI 调用来加载 VM [2],所以我必须让它指向 libjli.dylib
而不是常规的 java 可执行文件。
链接:
[1] 感谢:https://bugs.eclipse.org/bugs/show_bug.cgi?id=549813
[2] https://help.eclipse.org/2020-03/index.jsp?topic=%2Forg.eclipse.platform.doc.isv%2Freference%2Fmisc%2Flauncher.html&cp%3D2_1_5_1
关于java - 软件开发人员!不适用于 Eclipse.app 或 SpringToolSuite4.app(在 Mac 上),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56686052/