nev*_*enc 5 java eclipse spring-tool-suite sdkman macos-mojave
这与以下问题类似: Eclipse找不到使用sdkman安装的jdk
我在Mac(macos-mojave)上仍面临问题
我两个
/usr/bin/java
/usr/bin/javac
Run Code Online (Sandbox Code Playgroud)
指向
/System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands/java
/System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands/javac
Run Code Online (Sandbox Code Playgroud)
分别。
SDKMAN!没有安装正确java,并javac为SDKMAN!s'的默认Java版本。
因此,我有正确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
Run Code Online (Sandbox Code Playgroud)
但是,我没有在其中安装任何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 ..
Run Code Online (Sandbox Code Playgroud)
编辑:
我还尝试过更新JVM参考/Applications/SpringToolSuite4.app/Contents/Eclipse/SpringToolSuite4.ini(与相对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
Run Code Online (Sandbox Code Playgroud)
我确实得到了STS的初始屏幕,但是它仍然报告未安装JVM(请参阅屏幕截图)。
而且似乎都Eclipse.app和SpringToolSuite4.app需要传统安装了正确的JDK,不使用SDKMAN!
我真的不想安装除SDKMAN之外的其他JDK!
有人让这个工作吗?
谢谢!
小智 7
这是我如何让它在 MacOS Catalina 上工作 [1]。
我必须将-vm路径设置eclipse.ini为:
/Users/<YOUR_USER>/.sdkman/candidates/java/current/lib/jli/libjli.dylib
Run Code Online (Sandbox Code Playgroud)
显然,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
如果 Eclipse 启动器找不到合适的 JVM 来运行(我假设这是这里的问题),您通常可以通过指向“eclipse.ini”(或“STS.ini”,视情况而定)来解决此问题到您选择的 JVM。
为此,请.ini在文本编辑器中打开文件并在文件前面添加两行。像这样的东西:
-vm
/usr/lib/jvm/jdk-1.8.0/bin/java
... the rest of the file unchanged...
Run Code Online (Sandbox Code Playgroud)
请注意,重要的是:
1)这些行是文件中的第一行
2)它们位于两个单独的行上(不要尝试将-vmjvm 可执行文件的路径和路径放在一行上,这是行不通的)。