Domanda:
Impossibile eseguire OpenJDK macOS Catalina "Impossibile verificare che non sia un virus"
Lukas
2019-10-09 14:13:01 UTC
view on stackexchange narkive permalink

Ho scaricato OpenJDK 13 dal sito Web ufficiale e l'ho estratto nella mia cartella / Library / Java / JavaVirtualMachines / .Se ora provo a eseguirlo con java -version ottengo un messaggio che dice qualcosa intorno alle righe di "macOS non può verificare che non sia un virus" e mi chiede se voglio eliminarlo oannulla.

  • Il checksum del Tar corrisponde a quello del sito web.
  • Ho usato sudo per spostare la cartella, altrimenti mi è stato negato l'accesso
  • L'esecuzione di java come sudo non cambia nulla

Qualche idea su come posso installare OpenJDK 13 su MacOS Catalina?

In primo luogo, benvenuto su Ask Different!:) Spero che tu venga a scoprire che questo sito ha molto da offrire!Se non lo hai già fatto, vale la pena dedicare del tempo alla lettura del [tour] (https://apple.stackexchange.com/tour).Tutto il meglio con l'installazione di OpenJDK 13.
Si prega di controllare l'esatta formulazione dei messaggi.È molto più probabile che dica qualcosa come "MacOS non può verificare l'identità di questo software" piuttosto che "MacOS non può verificare che non sia un virus".C'è un mondo di differenza.
@benwiggy il sottotesto triste "macOS non può verificare che questa app non contenga malware".che si traduce in questo, ma hai ragione, il testo principale era "MacOS non può verificare l'identità di questo software"
Sette risposte:
#1
+47
fluktuid
2019-10-11 12:46:58 UTC
view on stackexchange narkive permalink

Vai a Impostazioni di sistema -> Sicurezza & Privacy -> Generale -> fai clic su "Consenti" (sotto "Download app consentiti da')

Dopodiché apri un terminale ed esegui di nuovo java (ad esempio java -version ). Dovrebbe apparire una nuova finestra di dialogo con la possibilità di fidarsi di OpenJDK in futuro.

Ho già questa impostazione come questa ma non l'ha risolta per me, ma non ho lo stesso errore della domanda, ho l'errore, "" jdk-14.0.1.jdk "è danneggiato e può 't essere aperto. quindi forse è diverso.
#2
+5
clarkttfu
2020-02-27 12:33:34 UTC
view on stackexchange narkive permalink

Per coloro che non hanno rifiutato l'esecuzione di jdk (la finestra di dialogo di conferma non ti consentirà di scegliere di riaprirla) e non è presente alcun pulsante "consenti" nella finestra di dialogo Sicurezza, avrai bisogno dello strumento della riga di comando spctl:

  # verifica se hai rifiutato l'app:
spctl --assess / path / to / jdk
# aggiungi eccezione per l'app:
spctl --add / path / to / jdk

 

Per coloro che desiderano utilizzare solo gli eseguibili java nella riga di comando, goto:

Preferenze di sistema > Sicurezza & Privacy > Privacy > Strumenti per sviluppatori

Aggiungi terminale, iTerm2 o qualsiasi altra cosa desideri utilizzare

quando eseguo, `spctl --assess / Library / Java / JavaVirtualMachines / jdk-14.0.1.jdk /` ottengo il messaggio, `una risorsa sigillata è mancante o non valida`
google mi punta [qui] (https://forums.developer.apple.com/thread/105899), quindi la mia ipotesi selvaggia sono file danneggiati?
grazie @clarkttfu - il post suggerisce che ho caratteri francesi nel nome - ma come puoi vedere dal mio esempio questo non si applica al mio caso.
Non volevo dire che stai affrontando esattamente lo stesso problema, ma il problema dovrebbe essere in qualche modo correlato al controllo della firma.Immagino che i file JDK sul tuo disco siano stati danneggiati.Potrebbe essere necessario scaricare / estrarre quei file e riprovare.
L'ho già provato la scorsa settimana e hai ragione, funziona, ma non voglio farlo ogni volta ... quando estraggo il JDK installo il pacchetto JMC-7 nella directory Contents / Home di JDK Imi chiedo se questo potrebbe avere un effetto.
Non ho esperienza con la firma del codice Apple.Ma dalla tua descrizione, la mia ipotesi è che aggiungendo il pacchetto, probabilmente stai rompendo l'integrità di JDK - potrebbe essere che alcuni file sono stati eliminati o sostituiti nel processo?
sì, avrebbe senso - non sto cancellando o sostituendo alcun file - sto solo decomprimendo il tar nella directory / Contents / Home, ma posso immaginare che Apple noti questo cambiamento e quindi pensa che forse ci sono cose divertenti in corso e cerca di farloproteggimi - la domanda è come aggirare questo problema .. Ho registrato un problema separato per questo qui, `https://apple.stackexchange.com/questions/393926/jdk-14-0-1-jdk-is-danneggiato-e-non-può-essere-aperto »
@robbie70 che suona come un problema con l'installazione di java e potrebbe ottenere una risposta migliore chiedendo agli autori di jmc o su una mailing list java.
@user151019 ok grazie - questa è una buona idea.
#3
+2
Nikhil Pate
2020-06-09 12:28:20 UTC
view on stackexchange narkive permalink

Il problema è che macOS etichetta tutti i file binari scaricati con un attributo "quarantine" che dice al sistema che non dovrebbe essere eseguito automaticamente prima di essere esplicitamente approvato dall'utente.

Devi rimuovere manualmente gli attributi di quarantena dalla cartella in cui è stato scaricato.Puoi farlo facilmente nel terminale con questo comando:

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

Nota: non possiedo questa soluzione / risposta, ecco il blog di riferimento.Lo metto qui in modo che qualcuno possa trovare facilmente la risposta.

1.000.000 di punti Internet a te, @Nikhil Pate.Questa era la risposta di cui avevo bisogno.
#4
+2
atErik
2020-07-13 10:25:07 UTC
view on stackexchange narkive permalink

OpenJDK Java (include JRE) è open-source, & è GRATUITO per qualsiasi & commerciale qualsiasi implementazione / distribuzione & per qualsiasi utilizzo personale.
Oracle Java (JDK) (include JRE) ha OpenJDK & componenti closed-source / proprietari, & è gratuito solo per uso personale, una licenza a pagamento richiesta per qualsiasi uso commerciale & per qualsiasi distribuzione / distribuzione , & tutti gli utenti devono anche fare una registrazione web (gratuita) per scaricare qualsiasi binario / sorgente. Potresti vedere anche questo.

  • in macOS-X Catalina (o macOS-XI / 11 / X1 dopo), ottieni il file di archivio "openjdk * .tar.gz" (non dmg / zip) da OpenJDK.Java.net o la sua pagina archivio (assicurati di vedere "http s " (o il simbolo Locked-Lock) nel web- browser durante il download). Quindi verifica / confronta l'autenticità / integrità del file scaricato: puoi usare il codice hash / digest SHA256 mostrato sul sito openjdk, usa lo strumento openssl nell'utility Terminale: con tale comando: openssl sha256 & quindi trascina il file openjdk * .tar.gz dal Finder nella riga di comando openssl nel Terminale, premi Invio per calcolare hash / digest, quindi Confronta calcolato SHA256 digest-code con sha256 ciò che viene mostrato sulla pagina web sicura https://OpenJDK.Java.net/ , entrambi devono corrispondere / uguali,
  • fai doppio clic su "openjdk * .tar.gz" (per decomprimerlo) nel Finder, MacOS potrebbe mostrare l'avviso che & lo interrompe,
  • Apri le tue "Preferenze di Sistema" > "Sicurezza & Privacy" > nella scheda "Generale" > vai alla sezione inferiore "Consenti app scaricate da" > premi il pulsante "Consenti" o "Apri comunque" per consentire la decompressione di "openjdk * .tar.gz" archivio-file (macOS chiederà di inserire la password di un account di tipo amministratore privilegiato), quindi dovrebbe decomprimersi, se non si decomprime, toccare di nuovo due volte il file "openjdk * .tar.gz" nel Finder, & scegli il pulsante "Apri" / "Consenti" se macOS ti chiede di nuovo, quindi alla fine decomprimerà quel file "* .tar.gz" , estratto di & una cartella da esso,
  • copia la cartella OpenJDK appena estratta / decompressa "jdk * .jdk" , & goto sotto la cartella di destinazione & MOVE (per spostarti usa il pulsante "alt / option" per cambiare la modalità "incolla" in modalità "sposta") la cartella "jdk * .jdk" sotto la posizione di destinazione:
    "/ Library / Java / JavaVirtualMachines /"
    macOS chiederà di nuovo di inserire una password di accesso privilegiata, fallo per completare lo spostamento.
  • apri Terminale, esegui questo comando: / usr / libexec / java_home
    se l'output contiene + mostra: "/Library/Java/JavaVirtualMachines/jdk-*.jdk/Contents/Home" , dove * mostrerà effettivamente il numero di versione di Java, quindi è buono.
  • in Terminale, esegui questo lungo set di comandi:
    echo '#! / bin / bash' > ~ / TestJava.sh; echo "esporta 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
    se vuoi evitare il set di comandi sopra lungo, esegui sotto il comando più breve:
    $ ($ (/ usr / libexec / java_home --version 14.0) / bin / java -version)
    macOS ti chiederà di inserire di nuovo un account privilegiato + password, fallo, & scegli "Open" / "Allow", quindi dovresti vedere un output come questo:
    openjdk 14.0.1 2020-04-14
    OpenJDK Runtime Environment (build 14.0.1 + 7)
    VM server OpenJDK a 64 bit (build 14.0.1 + 7, modalità mista, condivisione)
    (al momento della stesura di questa risposta ho usato openjdk 14.0.1, quindi l'output sopra mostra quelli. se stai usando Java 13, & se vuoi usare il set di comandi lungo mostrato sopra, esegui questo nano comando dopo di che: nano ~ / TestJava.sh , & cambia la riga che ha il numero di versione 14.0 , in 13.0 , se lo desideri per usare un comando più breve che è anche mostrato sopra, quindi (anche per questo) basta cambiare 14.0 in 13.0 )
  • Fatto. Da questo momento in poi, non vedrai / non dovresti vedere nessun altro blocco / blocco da macOS per l'utilizzo / l'esecuzione di quel java .

PASSAGGIO FACOLTATIVO: se vuoi che & ne abbia bisogno, prima di eseguire un'app basata su java, imposta la JAVA_HOME env var globalmente (per applicare lo stesso Java su tutte le app basate su java ), oppure Utilizza uno script di shell per configurare un Java specifico per eseguire un'app specifica basata su Java. Un esempio di tale script di shell è già mostrato nel lungo set di comandi sopra, adattalo / cambia / modificalo in base alle tue esigenze. se lo desideri, segui questo (vai alla sezione "Facoltativo: Java ENV VAR" in basso) o questo (consigliato) o questo o qualsiasi altra istruzione migliore.

PASSAGGIO OPZIONALE: puoi vedere tutte le versioni di Java installate con: / usr / libexec / java_home -V
(dovresti vedere la tua versione installata nell'elenco visualizzato)

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

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

    • Esegui quanto segue nel terminale: brew cask install adoptopenjdk
  3. Fatto.

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

Si scopre che devi accedere alle impostazioni di sicurezza del Mac e consentire al JDK di trovarlo dopo averlo eseguito.

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

Questo di solito accade perché non è stato registrato da un programma di installazione, motivo per cui ricevi l'errore quando estrai un tarball in una directory di sistema ma non quando usi pkg.Se desideri utilizzare un pacchetto di installazione ma non hai un abbonamento Oracle a pagamento per le versioni successive alla 8, potresti avere un po 'di fortuna utilizzando openjdk supportato che ha firmato pacchetti sul sito di adoptopenjdk.



Questa domanda e risposta è stata tradotta automaticamente dalla lingua inglese. Il contenuto originale è disponibile su stackexchange, che ringraziamo per la licenza cc by-sa 4.0 con cui è distribuito.
Loading...