Question:
Impossible d'exécuter OpenJDK macOS Catalina "Impossible de vérifier qu'il ne s'agit pas d'un virus"
Lukas
2019-10-09 14:13:01 UTC
view on stackexchange narkive permalink

J'ai téléchargé OpenJDK 13 depuis le site officiel et je l'ai extrait dans mon dossier / Library / Java / JavaVirtualMachines / .Si j'essaye maintenant de l'exécuter avec java -version , je reçois une invite disant quelque chose autour des lignes de "macOS ne peut pas vérifier qu'il ne s'agit pas d'un virus" et me demande si je veux le supprimer ouannuler.

  • La somme de contrôle du Tar correspond à celle du site Web.
  • J'ai utilisé sudo pour déplacer le dossier, sinon j'ai eu l'accès refusé
  • L'exécution de java en tant que sudo ne change rien

Des idées sur la façon dont je peux installer OpenJDK 13 sur MacOS Catalina?

Tout d'abord, bienvenue à Ask Different!:) J'espère que vous venez de découvrir que ce site a beaucoup à offrir!Si vous ne l'avez pas déjà fait, cela vaut la peine de prendre le temps de lire la [visite] (https://apple.stackexchange.com/tour).Le meilleur pour installer OpenJDK 13.
Veuillez vérifier le libellé exact des messages.Il est beaucoup plus probable de dire quelque chose comme "MacOS ne peut pas vérifier l'identité de ce logiciel" que "MacOS ne peut pas vérifier qu'il ne s'agit pas d'un virus".Il y a un monde de différence.
@benwiggy le sous-texte triste "macOS ne peut pas vérifier que cette application ne contient pas de logiciels malveillants."ce qui se traduit par cela, mais vous avez raison, le texte principal était "MacOS ne peut pas vérifier l'identité de ce logiciel"
Sept réponses:
fluktuid
2019-10-11 12:46:58 UTC
view on stackexchange narkive permalink

Accédez à Paramètres système -> Sécurité & Confidentialité -> Général -> cliquez sur "Autoriser" (sous "Téléchargements d'applications autorisés depuis')

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

J'ai déjà ce paramètre comme celui-ci mais il ne l'a pas corrigé pour moi - mais je n'ai pas exactement la même erreur que dans la question, j'ai l'erreur, «« jdk-14.0.1.jdk »est endommagé et peut»t être ouvert. »Alors peut-être que c'est différent.
clarkttfu
2020-02-27 12:33:34 UTC
view on stackexchange narkive permalink

Pour ceux qui manquent a rejeté l'exécution de jdk (la boîte de dialogue de confirmation ne vous laissera pas choisir d'ouvrir à nouveau) et il n'y a pas de bouton "autoriser" dans la boîte de dialogue Sécurité, vous aurez besoin de l'outil de ligne de commande spctl:

  # vérifier si vous avez rejeté l'application:
spctl --assess / chemin / vers / jdk
# ajouter une exception d'application:
spctl --add / chemin / vers / jdk

 

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

Préférences système > Security & Privacy > Privacy > Developer Tools

Ajoutez un terminal, iTerm2 ou tout ce que vous souhaitez utiliser

quand je lance, `spctl --assess / Library / Java / JavaVirtualMachines / jdk-14.0.1.jdk /` Je reçois le message, `une ressource scellée est manquante ou invalide`
google me pointe [ici] (https://forums.developer.apple.com/thread/105899), donc ma supposition sauvage est des fichiers cassés?
merci @clarkttfu - le message suggère que j'ai des caractères français dans le nom - mais comme vous pouvez le voir dans mon exemple, cela ne s'applique pas à mon cas.
Je ne voulais pas dire que vous rencontrez exactement le même problème, mais le problème devrait être en quelque sorte lié à la vérification de la signature.Je suppose que les fichiers JDK de votre disque ont été endommagés.Vous devrez peut-être télécharger / extraire ces fichiers et réessayer.
J'ai déjà essayé cela la semaine dernière et vous avez raison, cela fonctionne - mais je ne veux pas le faire à chaque fois .... quand j'extraye le JDK, j'installe le package JMC-7 dans le répertoire Contents / Home du JDK Ime demande si cela pourrait avoir un effet.
Je n'ai aucune expérience avec la signature de code Apple.Mais d'après votre description, je suppose qu'en ajoutant le package, vous brisez probablement l'intégrité du JDK - certains fichiers ont-ils été supprimés ou remplacés au cours du processus?
oui cela aurait du sens - je ne supprime ni ne remplace aucun fichier - je décompresse simplement le tar dans le répertoire / Contents / Home mais je peux imaginer qu'Apple remarque ce changement et pense donc qu'il se passe peut-être des choses amusantes et essaie deProtégez-moi - la question est de savoir comment contourner ce problème. J'ai signalé un problème distinct pour cela ici, `https://apple.stackexchange.com/questions/393926/jdk-14-0-1-jdk-is-endommagé et ne peut pas être ouvert »
@robbie70 qui ressemble à un problème avec l'installation de java et pourrait obtenir une meilleure réponse en demandant aux auteurs de jmc ou sur une liste de diffusion java.
@user151019 ok merci - c'est une bonne idée.
Nikhil Pate
2020-06-09 12:28:20 UTC
view on stackexchange narkive permalink

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

Vous devez supprimer manuellement les attributs de quarantaine du dossier dans lequel 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
 

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

1 000 000 de points Internet vers vous, @Nikhil Pate.C'était la réponse dont j'avais besoin.
atErik
2020-07-13 10:25:07 UTC
view on stackexchange narkive permalink

OpenJDK Java (inclut JRE) est open-source, & il est GRATUIT pour tout & commercial tout déploiement / distribution & toute utilisation personnelle.
Oracle Java (JDK) (inclut JRE) possède des composants OpenJDK & à source fermée / propriétaire, & est gratuit uniquement pour un usage personnel, une licence payante requise pour toute utilisation commerciale & pour tout déploiement / distribution , & tous les utilisateurs doivent également faire une inscription (gratuite) sur le Web pour télécharger tout binaire / source. Vous pouvez également voir ceci.

  • dans macOS-X Catalina (ou macOS-XI / 11 / X1 après), obtenez le fichier d'archive "openjdk * .tar.gz" (pas dmg / zip) à partir de OpenJDK.Java.net ou sa page archive, (assurez-vous que vous voyez "http s " (ou Locked-Lock-symbol) dans le web- navigateur lors du téléchargement). Ensuite, vérifiez / comparez l'authenticité / l'intégrité du fichier téléchargé: vous pouvez utiliser le code hash / digest SHA256 affiché sur le site openjdk, utilisez l'outil openssl dans l'utilitaire Terminal: avec une telle commande: openssl sha256 & puis faites glisser le fichier openjdk * .tar.gz du Finder dans cette ligne de commande openssl dans le terminal, appuyez sur Entrée pour calculer le hachage / condensé, puis comparez le calculé SHA256 digest-code avec sha256 ce qui est affiché sur la page Web sécurisée https://OpenJDK.Java.net/ , les deux doivent correspondre / identiques,
  • double-cliquez sur "openjdk * .tar.gz" (pour le décompresser) dans le Finder, MacOS peut afficher une notification & arrête cela,
  • Ouvrez votre "Préférences Système" > "Sécurité & Confidentialité" > sous l'onglet "Général" > est allé dans la section inférieure "Autoriser les applications téléchargées depuis" > appuyez sur le bouton "Autoriser" ou "Ouvrir quand même" pour permettre la décompression de "openjdk * .tar.gz" archive-file (macOS demandera d'entrer le mot de passe d'un compte de type administrateur privilégié), puis il devrait décompresser, s'il ne se décompresse pas, appuyez à nouveau deux fois sur le fichier "openjdk * .tar.gz" dans le Finder, & choisissez le bouton "Ouvrir" / "Autoriser" si macOS vous le demande à nouveau, puis il décompressera enfin ce fichier "* .tar.gz" , extrait d'& un dossier à partir de celui-ci,
  • copiez le dossier OpenJDK nouvellement extrait / décompressé "jdk * .jdk" , & va sous le dossier de destination & MOVE (pour déplacer, utilisez le bouton "alt / option" pour changer le mode "coller" en mode "déplacer") le dossier "jdk * .jdk" à l'intérieur sous l'emplacement de destination:
    "/ Bibliothèque / Java / JavaVirtualMachines /"
    macOS demandera à nouveau d'entrer un mot de passe d'accès privilégié, faites-le pour terminer le déplacement.
  • ouvrez le terminal, exécutez cette commande: / usr / libexec / java_home
    si la sortie contient + affiche: "/Library/Java/JavaVirtualMachines/jdk-*.jdk/Contents/Home" , où * affichera en fait le numéro de version Java, alors c'est bon.
  • dans Terminal, exécutez ce long jeu de commandes:
    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 un ensemble de commandes plus long, exécutez sous la commande plus courte:
    $ ($ (/ usr / libexec / java_home --version 14.0) / bin / java -version)
    macOS vous demandera de saisir à nouveau un accès privilégié + mot de passe, faites-le, & choisissez "Ouvrir" / "Autoriser", alors vous devriez voir une sortie comme ceci:
    openjdk 14.0.1 2020-04-14
    Environnement d'exécution OpenJDK (build 14.0.1 + 7)
    VM serveur OpenJDK 64 bits (build 14.0.1 + 7, mode mixte, partage)
    (au moment de la rédaction de cette réponse, j'ai utilisé openjdk 14.0.1, donc la sortie ci-dessus les montre. si vous utilisez Java 13, & si vous souhaitez utiliser le long jeu de commandes indiqué ci-dessus, exécutez ce nano après cela: nano ~ / TestJava.sh , & change la ligne qui a le numéro de version 14.0 , en 13.0 , si vous le souhaitez pour utiliser une commande plus courte qui est également indiquée ci-dessus, puis (également pour cela) changez simplement le 14.0 en 13.0 )
  • C'est terminé. À partir de là, vous ne verrez / ne devriez pas voir d'autres blocs / verrous de macOS pour utiliser / exécuter ce java .

ÉTAPE FACULTATIVE: si vous voulez que & en ait besoin, avant d'exécuter une application Java, configurez le JAVA_HOME env var globalement (pour appliquer le même Java sur toutes les applications Java ), ou Utilisez un script shell pour configurer un Java spécifique pour exécuter une application Java spécifique. Un exemple d'un tel script shell est déjà montré dans le long jeu de commandes ci-dessus, adaptez / changez / modifiez cela selon vos besoins. si vous voulez, suivez ceci (allez au bas de la section "Facultatif: Java ENV VAR") ou ceci (recommandé) ou ceci ou toute autre meilleure instruction.

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

SilverC4t
2020-05-20 16:54:39 UTC
view on stackexchange narkive permalink
  1. Installez homebrew packetmanager ( https://brew.sh/)

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

    • Exécutez ce qui suit dans le terminal: brew cask installer adoptopenjdk
  3. Terminé.

Lukas
2019-10-09 14:54:41 UTC
view on stackexchange narkive permalink

Il s'avère que vous devez accéder aux paramètres de sécurité de Mac et y autoriser le JDK après l'avoir exécuté.

John Keates
2019-10-09 22:46:27 UTC
view on stackexchange narkive permalink

Cela se produit généralement parce qu'il n'a pas été enregistré par un installateur, c'est pourquoi vous obtenez l'erreur lorsque vous extrayez une archive tar dans un répertoire système mais pas lorsque vous utilisez le pkg.Si vous souhaitez utiliser un package d'installation mais que vous ne disposez pas d'un abonnement Oracle payant pour les versions supérieures à 8, vous aurez peut-être un peu de chance en utilisant openjdk pris en charge qui a signé des packages sur le site adoptopenjdk.



Ce Q&R a été automatiquement traduit de la langue anglaise.Le contenu original est disponible sur stackexchange, que nous remercions pour la licence cc by-sa 4.0 sous laquelle il est distribué.
Loading...