16 votes

Comment exécuter une application qui nécessite Java SDK sur MacOS Catalina 10.15 ?

Actuellement, je rencontre un problème avec la nouvelle limitation de MacOS Catalina. Chaque fois que je lance une application qui nécessite openJDK, je reçois ce message :

"openjdk-12.0.1.jdk" ne peut pas être ouvert car il provient d'un développeur non identifié.

Vos préférences de sécurité n'autorisent l'installation que des applications de l'App Store et des développeurs identifiés.

Mais si j'utilise la méthode recommandée pour contourner ce problème (en allant dans les Préférences Système, bouton Sécurité et Confidentialité, bouton Général Ouvrir de toute façon), il ouvre simplement le dossier JDK. Ce qui n'est pas ce que je veux.

Comment puis-je utiliser JDK avec MacOS Catalina ?

16voto

xgMz Points 261

Abrir System Preferences -> Security & Privacy -> General il devrait y avoir un message sur l'application JDK, cliquez sur Allow .

Exécutez à nouveau l'application basée sur Java (par exemple : tapez java -version dans l'application Terminal). Une boîte de dialogue devrait apparaître pour confirmer que vous faites confiance à OpenJDK.

Source : https://apple.stackexchange.com/a/372235/35845

13voto

MoOx Points 577

Une solution, dont je ne suis pas sûr que ce soit la seule ou la meilleure, est d'exécuter

sudo spctl --master-disable

Ensuite, lancez votre application (la validation sera conservée par MacOS Gatekeeper).

et juste après réactiver Gatekeeper avec

sudo spctl --master-enable

Cette dernière étape est importante pour assurer la sécurité de votre Mac :)

5voto

Chad Stovern Points 151

Après avoir testé différentes options, l'épinglage au dernier cask LTS a fonctionné pour moi. (edit : vous aurez besoin d'ajouter le robinet pour montrer les versions précédentes de cask)

brew tap homebrew/cask-versions
brew cask install java11

Voici le résultat que j'obtiens ensuite sur Catalina Public Beta 2

java -version
openjdk version "11.0.2" 2019-01-15
OpenJDK Runtime Environment 18.9 (build 11.0.2+9)
OpenJDK 64-Bit Server VM 18.9 (build 11.0.2+9, mixed mode)

1voto

Alan Hayward Points 11

J'ai essayé de désactiver la fonction maître mais le problème s'est reproduit après un redémarrage. Dans ma situation particulière, le brassage n'est pas non plus ce que je souhaite.

La seule solution que j'ai trouvée et qui fonctionne pour moi est la suivante

xattr -d com.apple.quarantine /Library/Java/JavaVirtualMachines/openjdk1.8.0<version>/

0voto

atErik Points 191

Les étapes détaillées pour résoudre un tel problème sur macOSX Catalina (ou MacOS-XI/11/X1 Big-Sur) sont indiquées ici https://apple.stackexchange.com/a/396025/133434

Résumé :
- Télécharger la version de Java (JDK/SDK) *.tar.gz dont vous avez besoin pour MacOS à partir de OpenJDK site par défaut "~/Downloads" et vérifiez son authenticité en comparant le code SHA256 affiché sur le site OpenJDK avec le code SHA256 calculé localement.
- Double-cliquez sur *.tar.gz pour le décompresser, et avec un accès utilisateur privilégié+mot de passe autorisez MacOS à le décompresser, (vous aurez besoin d'autoriser la décompression à partir d'ici : "System Preferences" > "Security & Privacy" > sous "General" tab > Goto bottomside section "Allow Apps Downloaded From" > appuyez sur le bouton "Autoriser" ou "Ouvrir quand même").
- Déplacez la nouvelle version décompressée jdk*.jdk dans le dossier "/Library/Java/JavaVirtualMachines/" dossier
& avec un accès utilisateur privilégié+mot de passe permettent à MacOS de terminer le déplacement.
- Dans le Terminal, exécutez : $($(/usr/libexec/java_home --version 12.0)/bin/java -version)
et spécifier à nouveau un accès utilisateur privilégié + mot de passe, pour permettre à MacOS de l'"ouvrir"/exécuter.
- À partir de ce moment-là, cette java devrait fonctionner correctement.
- Avant d'exécuter une application basée sur Java, il faut soit configurer la variable d'environnement JAVA_HOME de manière globale (cf. este ) , ou utiliser un shell-script : pour sélectionner une version/dossier Java spécifique avant de lancer une application spécifique basée sur Java.

si vous utilisez Java 14, alors changez le numéro de version dans la commande ci-dessus, en --version 14.0
vous pouvez voir toutes les versions installées de Java avec : /usr/libexec/java_home -V

et en évitant brew /Une solution basée sur Homebrew (pkg-mngr) serait un meilleur choix. 1 , 2 , 3 , 4 , 5 , 6 , ... les utilisateurs peuvent utiliser Macports(pkg-mngr), etc.

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X