47 votes

Impossible d'exécuter OpenJDK MacOS Catalina "Impossible de vérifier que ce n'est pas un virus"

J'ai téléchargé OpenJDK 13 depuis le site officiel et je l'ai extrait sur mon ordinateur. /Library/Java/JavaVirtualMachines/ dossier. Si j'essaie maintenant de l'exécuter avec java -version J'obtiens une invite disant quelque chose comme "MacOS ne peut pas vérifier que ce n'est pas un virus" et me demande si je veux le supprimer ou l'annuler.

  • La somme de contrôle du Tar correspond à celle du site web.
  • J'ai utilisé sudo afin de déplacer le dossier, sinon l'accès est refusé.
  • Exécuter java en tant que sudo ne change rien

Avez-vous une idée de la façon dont je peux installer OpenJDK 13 sur MacOS Catalina ?

73voto

fluktuid Points 1312

Aller à System Settings -> Security & Privacy -> General -> Cliquez sur "Autoriser" (sous "Téléchargements d'applications autorisés depuis").

Après cela, ouvrez un terminal et exécutez à nouveau java (par ex. java -version ). Une nouvelle boîte de dialogue devrait apparaître avec la possibilité de faire confiance à OpenJDK à l'avenir.

22voto

Nikhil Pate Points 291

Le problème est que MacOS attribue à tous les fichiers binaires téléchargés un attribut "quarantaine" qui indique au système qu'ils ne doivent pas être exécutés automatiquement avant d'avoir été explicitement approuvés par l'utilisateur.

Vous devez supprimer manuellement les attributs de quarantaine du dossier où ils ont été téléchargés. Vous pouvez le faire facilement dans le terminal avec cette commande :

xattr -d com.apple.quarantine /Library/Java/JavaVirtualMachines/adoptopenjdk-13.0.1.jdk

Note : Je ne possède pas cette solution/réponse, voici la référence blog . Je le mets ici pour que quelqu'un puisse trouver la réponse facilement.

9voto

clarkttfu Points 209

Pour ceux qui ont refusé l'exécution du JDK (la boîte de dialogue de confirmation ne vous permet pas de choisir de l'ouvrir à nouveau) et qu'aucun bouton "autoriser" ne se trouve dans la boîte de dialogue Sécurité, vous aurez besoin de l'outil en ligne de commande spctl :

# verify if you have rejected the app:
spctl --assess /path/to/jdk
# add app exception:
spctl --add /path/to/jdk

Pour ceux qui veulent simplement utiliser les exécutables java en ligne de commande, allez sur :

System Preference > Security & Privacy > Privacy > Developer Tools

Ajouter Terminal , iTerm2 ou toute autre application que vous souhaitez utiliser

enter image description here

2voto

atErik Points 191

OpenJDK Java (y compris JRE) est un logiciel libre, et il est GRATUIT pour toute utilisation commerciale, tout déploiement/distribution et toute utilisation personnelle.
Oracle Java (JDK) (inclut JRE) a OpenJDK et des composants fermés/propriétaires, et il est gratuit uniquement pour un usage personnel, une licence payante est requise pour tout usage commercial et pour tout déploiement/distribution, et tous les utilisateurs doivent également faire un enregistrement web (gratuit) pour télécharger tout binaire/source. Vous pouvez voir ce aussi.

  • dans MacOS-X Catalina (ou MacOS-XI/11/X1 par la suite), obtenez le fichier "openjdk*.tar.gz" fichier d'archive (pas dmg/zip) à partir de OpenJDK.Java.net ou son archives page, (assurez-vous de voir "http s (ou symbole "Locked-Lock") dans le navigateur web lors du téléchargement) . Ensuite, vérifiez/comparez l'authenticité/intégrité du fichier téléchargé : vous pouvez utiliser le code de hachage/digestage SHA256 indiqué sur le site d'openjdk, utilisez le code SHA256 pour vérifier l'authenticité du fichier. openssl dans l'utilitaire Terminal : avec cette commande : openssl sha256 et faites ensuite glisser le openjdk*.tar.gz du Finder dans ce fichier openssl en ligne de commande dans le Terminal, appuyez sur la touche Entrée pour calculer le hachage/digestat, puis comparez les résultats calculés à ceux de la ligne de commande. SHA256 code digest avec sha256 ce qui est affiché sur https://OpenJDK.Java.net/ page web sécurisée, les deux doivent correspondre/être identiques,
  • double-cliquez sur "openjdk*.tar.gz" (pour le décompresser) dans le Finder, MacOS peut le remarquer et l'arrêter,
  • Ouvrez votre "System-Preferences" > "Security & Privacy" > sous "General" onglet > accéder à la section inférieure "Allow Apps Downloaded From" > Appuyez sur le bouton "Autoriser" ou "Open anyway" là pour permettre la décompression de "openjdk*.tar.gz" (MacOS vous demandera d'entrer le mot de passe d'un compte privilégié de type Admin), puis il devrait se décompresser, s'il ne se décompresse pas, tapez à nouveau deux fois sur le fichier d'archive. "openjdk*.tar.gz" dans le Finder, et choisissez "Open" /"Autoriser" si MacOS vous le demande à nouveau, il finira par décompresser ce fichier. "*.tar.gz" et extraire un dossier à partir de celui-ci,
  • copier ce dossier OpenJDK nouvellement extrait/décompressé "jdk*.jdk" Pour déplacer, utilisez le bouton "alt/option" pour transformer le mode "coller" en mode "déplacer"). "jdk*.jdk" dans l'emplacement de destination ci-dessous :
    "/Library/Java/JavaVirtualMachines/"
    MacOS vous demandera à nouveau d'entrer un mot de passe d'accès privilégié, faites-le pour terminer le déplacement.
  • ouvrir le Terminal, exécuter cette commande : /usr/libexec/java_home
    si la sortie contient+montre : "/Library/Java/JavaVirtualMachines/jdk-*.jdk/Contents/Home"* affiche effectivement le numéro de version de Java, alors c'est bon.
  • dans le Terminal, exécutez cette longue commande :
    echo '#!/bin/bash' > ~/TestJava.sh ; echo "export JAVA_HOME=\"\$(/usr/libexec/java_home --version 14.0)\";" >> ~/TestJava.sh ; echo "export PATH=\"\$JAVA_HOME/bin:\$PATH\";" >> ~/TestJava.sh ; echo "java -version ;" >> ~/TestJava.sh ; chmod +x ~/TestJava.sh ; ~/TestJava.sh
    si vous voulez éviter la longue série de commandes ci-dessus, exécutez la commande plus courte ci-dessous :
    $($(/usr/libexec/java_home --version 14.0)/bin/java -version)
    MacOS vous demandera d'entrer à nouveau un compte privilégié + un mot de passe, faites-le, puis sélectionnez "Open" /"Allow", alors vous devriez voir un résultat comme celui-ci :
      openjdk 14.0.1 2020-04-14
      OpenJDK Runtime Environment (build 14.0.1+7)
      OpenJDK 64-Bit Server VM (build 14.0.1+7, mixed mode, sharing)
    (au moment de l'écriture de cette réponse, j'ai utilisé openjdk 14.0.1, donc la sortie ci-dessus montre ceux. si vous utilisez Java 13, et si vous voulez utiliser le long jeu de commandes montré ci-dessus, alors exécutez ceci nano après cela : nano ~/TestJava.sh et changez la ligne qui contient le numéro de version 14.0 en 13.0 Si vous souhaitez utiliser une commande plus courte, comme celle présentée ci-dessus, il vous suffit de modifier la commande 14.0 en 13.0 )
  • Fait . À partir de ce moment, vous ne verrez pas/ne devriez pas voir d'autres blocages de la part de MacOS pour utiliser/exécuter cette commande. java .

ÉTAPE FACULTATIVE : si vous voulez et devez le faire, avant d'exécuter une application basée sur Java, vous pouvez soit configurer l'interface utilisateur de l'application pour qu'elle puisse être utilisée par les utilisateurs. JAVA_HOME env var globalement (pour appliquer le même Java sur toutes les applications basées sur java), ou utiliser un shell-script pour configurer un Java spécifique pour exécuter une application spécifique basée sur java. Un exemple d'un tel shell script est déjà présenté dans le long jeu de commandes ci-dessus, adaptez/changez/modifiez-le selon vos besoins. si vous le souhaitez, suivez les instructions suivantes ce (voir la section "Optional : Java ENV VAR" en bas de page) ou ce (recommandé) ou ce ou toute autre meilleure instruction.

ETAPE OPTIONNELLE : vous pouvez voir toutes les versions de Java installées avec : /usr/libexec/java_home -V
(vous devriez voir votre version installée sur la liste affichée)

1voto

difrnt Points 986
  1. Installer le gestionnaire de paquets homebrew ( https://brew.sh/ )

    /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"

  2. Installer AdoptOpenJDK ( https://github.com/AdoptOpenJDK/homebrew-openjdk ) :

    brew install --cask adoptopenjdk

  3. C'est fait.

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