java - 软件开发人员!不适用于 Eclipse.app 或 SpringToolSuite4.app(在 Mac 上)

标签 java eclipse spring-tool-suite macos-mojave sdkman

这是一个类似的问题: 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 版本安装了正确的 javajavac

因此,我确实有合适的 javajavac:

% 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(参见屏幕截图)

SpringToolSuite splash screen Java SE 6 runtime legacy needed

Eclipse.appSpringToolSuite4.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/

相关文章:

java - 获取 java.lang.IndexOutOfBoundsException : Index: 0, Size: 0 in react native

java - Jackson JsonDeserializer 总是得到空值

java - 使用独立于eclipse的eclipse插件

java - 如何在 eclipse kepler 中查看 JavaFX SDK 的源代码?

java - 为什么我的图像不显示在 jsp 中? [使困惑]

java - 错误: Could not find or load main class Tool

java - BitmapFactory 无法在 Android 中解码流 : java. io.FileNotFoundException

java - Freemarker 获取当前时间戳

eclipse - 如何从 Eclipse 中的文件搜索中排除 .class 文件?

grails - Spring Tool Suite如何将Grails升级到2.2