web-dev-qa-db-fra.com

Sdkman! Ne fonctionne pas avec Eclipse.app ou SpringToolSuite4.app (sur Mac)

C'est un problème similaire à: Eclipse ne peut pas trouver JDK installé avec SDKMAN

Je suis toujours confronté à la question sur Mac (macos-mojave)

Mes deux

/usr/bin/Java
/usr/bin/javac 

montrent à

/System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands/Java
/System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands/javac

respectivement.

Sdkman! installe le bon Java et javac pour la valeur par défaut de SDKMAN! 'S par défaut Java version.

Ainsi, j'ai bon droit Java et 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

Cependant, je n'ai pas de Java versions installés dans:

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 ..

ÉDITER:

J'ai également essayé de mettre à jour la référence JVM dans /Applications/SpringToolSuite4.app/Contents/Eclipse/SpringToolSuite4.ini (comparable à 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

Je reçois un écran de splash pour STS, mais cela ne signale toujours pas de JVMS installé (voir Captures d'écran)

SpringToolSuite splash screenJava SE 6 runtime legacy needed

Et il semble à la fois Eclipse.app et SpringToolSuite4.app exige que JDK approprié soit installé traditionnellement, sans utiliser SDKMAN!

Je ne veux vraiment pas installer un autre JDK à part Sdkman!

Quelqu'un a-t-il eu ça pour travailler?

Merci!

15
nevenc

J'ai fait face à ce problème sur Macos Sierra tout en essayant d'utiliser OpenJDK 11.0.2 installé par Sdkman! en conjonction avec Eclipse 2019-06. Aucun autre SDKS n'est installé.

macOS semble systématiquement refuser le lancement Eclipse.app pour presque Toutes les combinaisons de -vm Paramètres que j'ai fournis dans Info.plist et Eclipse.ini, sauf pour les liens vers /System/Library/.

Voici ma configuration de travail:

  1. J'ai fait un sdk default Java 11.0.2-open plutôt que juste sdk use. Je me suis assuré que Sdkman! Les fichiers binaires de commande JDK symbolisés correctement dans le /System/Library chemin:
lrwxr-xr-x  1 root  wheel  75  1 Mai  2017 /usr/bin/Java -> /System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands/Java

Bien que la destination symbolique ne soit plus un lien, c'est le binaire que Sdkman! déployé là-bas. Vérifiez-le avec le -version.

  1. Je me suis assuré non <string>-vm</string> Paramètre est présent dans Info.plist. Tous commentés.

  2. Mon -vm argolaire Eclipse.ini est:

-vm
/System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands/Java

Comme indiqué précédemment, assurez-vous que cette déclaration apparaît avant -vmargs.

Cela me permet enfin de lancer une Eclipse récente en double-cliquant sur le Finder ou en lançant le binaire Eclipse binaire directement. J'espère que cela s'applique aussi aux STS.

Bonne chance.

0
kay73