这是一个类似于: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!为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 (与Eclipse.ini相当)中更新JVM引用:
-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了!
有人把这个弄好了吗?
谢谢!
发布于 2020-05-12 19:29:15
下面是我如何让它在MacOS Catalina上工作。
我必须在eclipse.ini中将-vm路径设置为:
/Users/<YOUR_USER>/.sdkman/candidates/java/current/lib/jli/libjli.dylib显然,MacOS上的Eclipse总是使用JNI调用来加载VM2,所以我必须让它指向libjli.dylib,而不是常规的java可执行文件。
链接:
发布于 2019-06-22 00:18:20
如果Eclipse启动程序找不到合适的JVM运行(我假设这就是问题所在),您通常可以通过将'eclipse.ini‘(或'STS.ini’)指向您选择的JVM来解决这个问题。
为此,请在文本编辑器中打开.ini文件,并在该文件的前面添加两行。如下所示:
-vm
/usr/lib/jvm/jdk-1.8.0/bin/java
... the rest of the file unchanged...请注意,重要的是:
1)这些行是文件中的第一行
2)它们位于两个单独的行中(不要试图将-vm和jvm可执行文件的路径都放在一行中,这是行不通的)。
发布于 2019-08-09 16:35:45
当我尝试使用macOS安装的OpenJDK 11.0.2时,我在SDKMAN上遇到了这个问题!与Eclipse 2019-06结合使用。未安装其他SDK。
macOS似乎一直拒绝为我在Info.plist和eclipse.ini中提供的几乎所有-vm参数组合启动Eclipse.app,除了到/System/Library/的链接。
以下是我的工作设置:
sdk default java 11.0.2-open,而不仅仅是sdk use。我确保了SDKMAN!符号链接的JDK命令将二进制文件正确地放入/System/Library路径:lrwxr-xr-x 1 root wheel 75 1 Mai 2017 /usr/bin/java -> /System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands/java尽管symlink目标不再是一个链接,但它是SDKMAN!部署在那里。请使用-version进行检查。
Info.plist中不存在任何<string>-vm</string>参数。All注释掉。-vm arg in eclipse.ini is:-vm
/System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands/java如前所述,确保此语句出现在-vmargs之前。
这最终允许我通过在查找器中双击或者直接启动eclipse二进制文件来启动最近的Eclipse。希望这也适用于STS。
祝好运。
https://stackoverflow.com/questions/56686052
复制相似问题