SDKMAN! не работает с Eclipse.app или SpringToolSuite4.app (на Mac) - PullRequest
3 голосов
/ 20 июня 2019

Эта проблема похожа на: Eclipse не может найти jdk, установленный с 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 и javac для версии Java SDKMAN! по умолчанию.

Таким образом, у меня есть правильные 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 ..

EDIT:

Я также пытался обновить ссылку на 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

Я получаю заставку для STS, но она все еще сообщает, что JVM не установлена ​​(см. Скриншоты)

SpringToolSuite splash screen Java SE 6 runtime legacy needed

И, похоже, для Eclipse.app и SpringToolSuite4.app требуется традиционный JDK, установленный традиционно, без использования SDKMAN!

Я действительно не хочу устанавливать другой JDK, кроме SDKMAN!

Кто-нибудь заставил это работать?

Спасибо!

1 Ответ

0 голосов
/ 21 июня 2019

Если средство запуска 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 в одну строку, это не работает).

...