首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SDKMAN!不适用于Eclipse.app或SpringToolSuite4.app (在苹果电脑上)

SDKMAN!不适用于Eclipse.app或SpringToolSuite4.app (在苹果电脑上)
EN

Stack Overflow用户
提问于 2019-06-20 20:30:20
回答 3查看 3.1K关注 0票数 16

这是一个类似于:Eclipse can't find jdk installed with sdkman的问题

我仍然在Mac (macos-mojave)上遇到这个问题。

我的两个人

代码语言:javascript
复制
/usr/bin/java
/usr/bin/javac 

所指向的

代码语言:javascript
复制
/System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands/java
/System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands/javac

分别使用。

SDKMAN!为SDKMAN!的默认Java版本安装正确的javajavac

因此,我确实有适当的javajavac

代码语言:javascript
复制
% 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版本:

代码语言:javascript
复制
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引用:

代码语言:javascript
复制
-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.appSpringToolSuite4.app都需要按照传统方式安装合适的JDK,而不是使用SDKMAN!

除了SDKMAN,我真的不想再安装JDK了!

有人把这个弄好了吗?

谢谢!

EN

回答 3

Stack Overflow用户

发布于 2020-05-12 19:29:15

下面是我如何让它在MacOS Catalina上工作。

我必须在eclipse.ini中将-vm路径设置为:

代码语言:javascript
复制
/Users/<YOUR_USER>/.sdkman/candidates/java/current/lib/jli/libjli.dylib

显然,MacOS上的Eclipse总是使用JNI调用来加载VM2,所以我必须让它指向libjli.dylib,而不是常规的java可执行文件。

链接:

1感谢:https://bugs.eclipse.org/bugs/show_bug.cgi?id=549813

2

票数 7
EN

Stack Overflow用户

发布于 2019-06-22 00:18:20

如果Eclipse启动程序找不到合适的JVM运行(我假设这就是问题所在),您通常可以通过将'eclipse.ini‘(或'STS.ini’)指向您选择的JVM来解决这个问题。

为此,请在文本编辑器中打开.ini文件,并在该文件的前面添加两行。如下所示:

代码语言:javascript
复制
-vm
/usr/lib/jvm/jdk-1.8.0/bin/java
... the rest of the file unchanged...

请注意,重要的是:

1)这些行是文件中的第一行

2)它们位于两个单独的行中(不要试图将-vm和jvm可执行文件的路径都放在一行中,这是行不通的)。

票数 5
EN

Stack Overflow用户

发布于 2019-08-09 16:35:45

当我尝试使用macOS安装的OpenJDK 11.0.2时,我在SDKMAN上遇到了这个问题!与Eclipse 2019-06结合使用。未安装其他SDK。

macOS似乎一直拒绝为我在Info.plisteclipse.ini中提供的几乎所有-vm参数组合启动Eclipse.app,除了到/System/Library/的链接。

以下是我的工作设置:

  1. 我做了一个sdk default java 11.0.2-open,而不仅仅是sdk use。我确保了SDKMAN!符号链接的JDK命令将二进制文件正确地放入/System/Library路径:

代码语言:javascript
复制
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进行检查。

  1. 我确保Info.plist中不存在任何<string>-vm</string>参数。All注释掉。
  2. My -vm arg in eclipse.ini is:

代码语言:javascript
复制
-vm
/System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands/java

如前所述,确保此语句出现在-vmargs之前。

这最终允许我通过在查找器中双击或者直接启动eclipse二进制文件来启动最近的Eclipse。希望这也适用于STS。

祝好运。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56686052

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档