Java 7 installato su Mac OS X ma Terminal utilizza ancora la versione 6


391

Ho installato JDK 7u7 scaricato dal sito Web di Oracle. Ma dopo l'installazione, il terminale mostra ancora java versione 6

$java -version
java version "1.6.0_35"
Java(TM) SE Runtime Environment (build 1.6.0_35-b10-428-11M3811)
Java HotSpot(TM) 64-Bit Server VM (build 20.10-b01-428, mixed mode)

qualche idea del perché java 7 non si presenta?

Risp: OK, il problema è stato risolto. Ecco la risposta: ho scoperto che il mio Terminale ha un .bash_profile e la variabile home java è impostata su 1.6

export JAVA_HOME="/System/Library/Frameworks/JavaVM.framework/Versions/1.6.0/Home"

Quindi questa è la linea che causa il problema ogni volta che ho aperto una nuova finestra del terminale. Basta rimuovere questa linea per risolvere il problema. Devi ancora seguire ciò che ha detto @aleroot, ma se non funziona per te, controlla il file di impostazione .bash_profile (o .bashrc) per vedere se hai precedentemente esportato una versione java.


23
Ho avuto questo problema ma ho solo aggiornato JRE e non JDK. Una volta aggiornato JDK ha mostrato la versione corretta.
Paul Maserrat,

Migrare questo per chiedere diverso?
Nakilon,

14
Solo per attirare un po 'di attenzione in più sul commento di @ Mazzy, è un errore facile da fare. Il download di JRE v7 farà apparire la versione 7 quando si esegue il controllo della versione online o il pannello di controllo Java, ma quando si richiama Java dalla riga di comando, si eseguirà la versione precedente dal JDK precedentemente installato. Quindi ricontrolla per assicurarti di aver installato JDK e non solo JRE.
Cam Jackson

1
Il modo migliore per risolvere questo problema è utilizzare l' export JAVA_HOMEapproccio, come dettagliato qui in un modo leggermente più flessibile.
Brad Parks,

5
Vorrei sottolineare questo in lettere maiuscole: MOLTE PERSONE CHE ATTERRANO IN QUESTA PAGINA DEVONO ESSERE SOLO PER SCARICARE E INSTALLARE L'ULTIMO JDK. IL PANNELLO DI CONTROLLO JAVA AGGIORNA SOLO JRE.
Walter Tross,

Risposte:


64

Perché è necessario accedere al riquadro Preferenze Java e contrassegnare solo JVM 7 in questo modo:

Preferenze Java

Per aprire facilmente e rapidamente il riquadro Preferenze Java in Mac OS X, puoi semplicemente chiamare Spotlight con +SPACE e digitare Preferenze di Sistema che verrà visualizzato nell'ultima riga della finestra.


3
si, l'ho trovato. ma comunque versione 1.6 nel terminale, devo riavviare o qualcosa del genere
Yang

1
Questo pannello non esiste più in 10.8. Alternative?
Pepijn,

68
@Pepijn Il panale è la storia di Mac OSX 10.8.2 e non ce n'è più bisogno. Invece devi usare export JAVA_HOME=`/usr/libexec/java_home -v 1.7`per passare all'ultimo JDK Java 7 di Oracle.
Uwe Günther

23
Penso che a un certo punto si siano sbarazzati delle Preferenze Java. Non è stato trovato da Spotlight sulla mia scatola. In esecuzione 10.8.5.
cambio rapido

1
Puoi trovare la posizione esatta di JAVA_HOME in -> preferenze di sistema -> java. Fai clic sulla scheda "Java". Fai clic su Visualizza. La variabile Path mostra il tuo JAVA_HOME (riquadro / Home).
agaase,

298

Il programma di installazione di Oracle inserisce java all'interno di /Library/Internet Plug-Ins/JavaAppletPlugin.plugin. E non sovrascrive /usr/bin/java. Quindi, se si emette un

whereis java

nel terminale, restituirà / usr / bin / java. (che a sua volta indica /System/Library/Frameworks/JavaVM.framework/Versions/A/Commands/java, che è la versione 1.6 di Apple).

Quindi, se si desidera utilizzare la nuova versione di Java, sostituire il /usr/bin/javacollegamento simbolico in modo che punti /Library/Internet\ Plug-Ins/JavaAppletPlugin.plugin/Contents/Home/bin/javainvece:

sudo rm /usr/bin/java
sudo ln -s /Library/Internet\ Plug-Ins/JavaAppletPlugin.plugin/Contents/Home/bin/java /usr/bin

22
Ecco il comando: sudo ln -s / Library / Internet \ Plug-Ins / JavaAppletPlugin.plugin / Contenuti / Home / bin / java / usr / bin
Binarian

11
Il comando di Viktor funziona. Ma potresti anche aver bisogno di essere sicuro di rimuovere il symlink java esistenterm /usr/bin/java
Matt Florence,

7
Fino a quando la gente di Oracle non migliorerà questo processo, ecco un HOWTO dell'intero processo di installazione di java su un sistema osx, fino a e incluso questo passaggio finale del collegamento
ecmanaut

61
ho ricevutorm: /usr/bin/java: Operation not permitted
Aditya il

37
Oppureexport PATH="/Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home/bin:$PATH"
Mick il

114

Installa JDK 7 e questo problema si risolverà da solo.

Assicurati di ottenere il Java Development Kit (JDK) che include compilatori e cose del genere, anziché solo Java Runtime Environment (JRE).


7
installare l'intero JDK, non solo il JRE.
BrainO2

5
-1 Non ha aiutato. L'installazione di JDK non cambia /usr/bin/javaJAVA_HOME. Ma l'impostazione di ha JAVA_HOMEaiutato.
Andrii Nemchenko,

3
OK confermato su OSX 10.9.4. Non cambia il link / usr / bin, cambia le cose sottostanti. Quindi /usr/bin/java -> /System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands/java # But: /System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands/java -version java version "1.7.0_67"
Joe Atzberger,

1
Ha funzionato anche per JDK 1.8 - (installa JDK 1.8 invece di JRE 1.8)
Mark Chackerian,

Ho provato a installare Java 1.8, ma non ha funzionato su El Capitan. L'installazione di 1.7 ha risolto i miei problemi.
SPRBRN,

104

vi ~/.bash_profile

Inserisci

export JAVA_HOME=`/usr/libexec/java_home -v 1.7`

Questo indica al /usr/bin/javatarget del collegamento di utilizzare l'ultimo pacchetto Java 7 installato

/Library/Java/JavaVirtualMachines/

Quindi per JDK 1.7.0_17 JAVA_HOMEsarebbe:

/Library/Java/JavaVirtualMachines/jdk1.7.0_17.jdk/Contents/Home

Nota: recentemente sono stati apportati molti cambiamenti in quest'area per spostare Mac OS X dai pacchetti Java integrati nel sistema Appels ai pacchetti Java basati su Oracle. La soluzione sopra funziona perfettamente con Mac OS X 10.8.2


4
+1 per questa risposta, che è quella corretta perché funziona su versioni di Mac OS prima e dopo la rimozione di "Preferenze Java" e, mostrando l'opzione "-v", dimostra come utilizzare java 6 anche se java 7 è installato (che è quello che voglio). Quindi sul mio Mac con Lion (10.7.5) uso lo stesso comando con "-v 1.6". Questo è fondamentale perché ho bisogno di Java 6 e Oracle non ne fornisce uno per Mac OS - solo Java 7, e questo mi permette di usare JAva 6 installato anche se Java 7 è installato.
Rabarbaro

1
Inoltre, per renderlo più flessibile: mikemainguy.blogspot.com/2014/11/…
Mainguy,

ulteriori informazioni possono essere trovate qui per questa fantastica risposta!
Brad Parks,

Questo ha funzionato per me in Sierra 10.12 dopo aver installato 1.8 JKD, l'esportazione ha funzionato cambiando da 1.7 a 1.8. Ottima risposta usando l'utilità java_home !!
Scott Byers,

56

Nel mio caso, il problema era che Oracle lo stava installando in una posizione diversa da quella a cui ero abituato.

Scarica da Oracle: http://java.com/en/download/mac_download.jsp?locale=en

  1. Verifica che sia installato correttamente cercando in Preferenze di Sistema:

    • Command-Space per aprire Spotlight, digitare "Preferenze di Sistema", premere invio.
    • Fai clic sull'icona Java nella riga inferiore. Dopo l'apertura del pannello di controllo Java, fai clic sulla scheda "Java", "Visualizza ..." e verifica che l'installazione abbia funzionato. Puoi anche vedere un 'Percorso' lì, che puoi inserire nei comandi seguenti nel caso in cui siano diversi dai miei.
  2. Verifica che la versione sia come previsto (sub nel tuo percorso secondo necessità):

    / Libreria / Internet \ Plug-Ins / JavaAppletPlugin.plugin / Contenuti / Home / bin / java -version

  3. Crea un collegamento da / usr / bin / java alla tua nuova installazione

    sudo ln -fs / Libreria / Internet \ Plug-Ins / JavaAppletPlugin.plugin / Contenuti / Home / bin / java / usr / bin / java

  4. Sanity controlla la tua versione:

    java -version


Ha funzionato anche per me, ho anche provato l'altra spiegazione ma con Maverix non esiste un pannello in cui è possibile selezionare un numero di versione e anche la modifica del file .bash_profile non ha funzionato. PERFETTO!
Alex Cio,

Eclipse non vede 1.7 sotto compilatore
Laser Hawk,

Ha funzionato per me !. Prima = 1.6.0_65 e dopo aver usato questa soluzione = 1.7.0_60 .... grazie! :)
matematica

ma eclipse genera un errore come se "la libreria condivisa jvm non contiene il simbolo jni_createjavavm" .... :(
matematica

1
Grazie per l'aiuto! Nient'altro ha funzionato tranne questo. Running Yosemite
LordZardeck,

33

Avevo riscontrato un problema simile con il terminale che non aggiornava la versione java in modo che corrispondesse alla versione installata sul mac.

Non è stato riscontrato alcun problema con l'impostazione della variabile ambientale JAVA_HOME

Ho trovato una soluzione temporanea e un po 'dolorosa ma funzionante.

In te .bash_profile aggiungi la riga:

export JAVA_HOME="/Library/Java/JavaVirtualMachines/jdk1.7.0_11.jdk/Contents/Home"

(Questo è il percorso sulla mia macchina ma potrebbe essere diverso sul tuo, assicurati di ottenere il tuo. I percorsi dovrebbero corrispondere a / Library / Java / JavaVirtualMachines /)

la corsa source ~/.bash_profile

Come ho già detto, questa è una soluzione temporanea di cerotto perché il percorso home java è in fase di codifica. Non c'è davvero modo di impostare il percorso per ottenere le ultime poiché è quello che Apple sta presumibilmente facendo per il terminale e il problema è che la variabile di ambiente java_home di Apple non viene aggiornata.


4
La directory è vuota $ ls / Library / Java / JavaVirtualMachines /
Pepijn

1
Probabilmente hai un problema con dove hai installato java 7. Vai al sito Web di Oracle . Fare clic sul collegamento "Java SE Development Kit 7u11", accettare il contratto di licenza e scaricare "jdk-7u11-macosx-x64.dmg". Utilizzare dmg per installare Java 7 e questo dovrebbe inserirlo nella directory JavaVirtualMachines.
Derek,

Questa è una soluzione su Mojave 10.14.1 all'inizio del 2019
bitsand

27

Da El Capitan, è difficile eliminare il /usr/bin/javacollegamento simbolico, a causa dell'introduzione della nuova politica "senza root".

Pertanto, ho semplicemente aggiunto il percorso all'ultima versione java (nel mio caso questo è /Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home/bin) PATHnel mio .bashrcfile:

# Use latest java version
export PATH=/Library/Internet\ Plug-Ins/JavaAppletPlugin.plugin/Contents/Home/bin:$PATH

Per ricaricare il .bashrcfile per la sessione corrente, esegui source ~/.bashrcnella shell. Devi farlo solo per le sessioni che erano state avviate prima di modificare il .bashrcfile.

Ora viene utilizzata l'ultima versione, quando si utilizza javanella shell.


1
Questa particolare soluzione ha funzionato per me sul mio mac os x el capitan. Non ho ignorato la sicurezza impostata su el capitan, ma ho installato java versione 1.8. L'esportazione JAVA_HOME = / il mio percorso specifico ecc. Ecc. / Non ha funzionato (dopo aver scelto le preferenze e aver individuato il percorso in 1.8). Nota 1.6 è ancora installato. Ho dovuto creare un file .bashrc e impostare il percorso come descritto qui. Ho corso java -version e shazzam! ha funzionato.
Umbregachoong,

Volevo così che funzionasse perché sono su El Capitan e non riesco a trovare un'altra soluzione per funzionare. Ho creato un file '.bashrc' e ho aggiunto la riga come sopra, ma se digito 'java -version' ottengo ancora 1.6. Qualcosa che avrei potuto trascurare?
noLongerRandom

@ user3810073 forse devi eseguire source .bashrc, per ricaricare il contenuto di .bashrc
TabeaKischka

Ha funzionato per me. Ho aggiunto la riga a .bash_profile (nella home directory del mio utente), quindi fonte .bash_profile. Poi java -version mi ha dato l'ultimo. Grazie!
mrmuggles,

Questo può essere ottenuto anche tramite il collegamento simbolico in /usr/local/binquesto modo: l' sudo ln -sf "/Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home/bin/java" /usr/local/bin/java assunzione /usr/local/binè prima /usr/binnel tuo, $PATHche dovrebbe essere predefinita.
lifeofguenter

21

Per me il modo più semplice e pulito per andare è installare Java usando homebrew come descritto qui:

https://stackoverflow.com/a/28635465

brew update
brew cask install java

Soluzione semplice e pulita !. Ha funzionato come un fascino.
Rahul Shukla,

2
Questa è l'unica soluzione che ha aggiornato sia java che javac. Grazie!
ldanilek,

Ha funzionato come un incanto :) Grazie mille
Mohamed Saleh,

questo installerà la versione più recente di java, non Java7
Ivo,

13

Il problema di base: /usr/bin/javasta indicando quello fornito inizialmente dallo stesso OSX ( /System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands/java) Dobbiamo puntare a quello scaricato dall'installer JDK. I passaggi seguenti sono per OSX 10.10.4 Yosemite.

  • Apri Preferenze di Sistema -> seleziona Java. Si apre la finestra Java.
  • Fai clic sulla scheda Java in alto. Fai clic sul pulsante "Visualizza".
  • La scheda Impostazioni ambiente Java Runtime si apre come di seguito: Scheda Impostazioni JRE
  • Fare doppio clic Pathsull'elemento e copiare il percorso (cmd + c). Questo è l'ultimo installato dal programma di installazione / aggiornamento JDK. Nel mio caso, il percorso era/Library/Internet\ Plug-Ins/JavaAppletPlugin.plugin/Contents/Home/bin/java
  • Terminale aperto In questo passaggio, indicheremo (collegamento simbolico, ln -scomando) il sistema java binario all'ultimo, che abbiamo scoperto nel passaggio precedente. Esegui il comando seguente:

sudo ln -s /Library/Internet\ Plug-Ins/JavaAppletPlugin.plugin/Contents/Home/bin/java /usr/bin/java

Questo è tutto. Per verificare, puoi semplicemente eseguire java -version sul terminale. Dovrebbe produrre l'ultima versione che hai installato / aggiornato.


2
Funziona per me, tranne per il fatto che ho dovuto aggiungere -f al comando ln. Altrimenti se fallito con ln: / usr / bin / java: il file esiste
Dale

nel mio caso avrei usato al usr/local/binposto del usr/bincomando terminale
iAkshay

Ricevo "operazione non consentita".
Shardul,

Ottenere il percorso in questo modo è l'ideale. Sono stato quindi in grado di esportarlo e ricaricare bashrc per risolvere il problema della versione. Nel mio caso stavo migrando dalla versione 7 all'8 su Mojave 10.14.1
bitsand

12

È possibile eseguire il comando seguente nel terminale:

export PATH="/Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home/bin:$PATH"

E questo sostituisce il vecchio Java con uno nuovo.


1
Stranamente sostituisce, ma se chiudo il terminale e lo riapro, mostra di nuovo la versione precedente
Parth Patel,

è vero. così stupido. soluzione molto temporanea
Un utente il

1
aggiungilo al file .bashrc source ~/.bashrcper renderlo permanente
Azimjon Ilkhomov,

10

L'ho fatto

export JAVA_HOME=`/usr/libexec/java_home`

e questo ha risolto il mio problema con Java 8.

prima:

java version "1.6.0_31"
Java(TM) SE Runtime Environment (build 1.6.0_31-b04)
Java HotSpot(TM) 64-Bit Server VM (build 20.6-b01, mixed mode)

dopo:

java version "1.8.0_05"
Java(TM) SE Runtime Environment (build 1.8.0_05-b13)
Java HotSpot(TM) 64-Bit Server VM (build 25.5-b02, mixed mode)

1
Questa /usr/libexec/java_homeè un'ottima indicazione, grazie!
Raffi,

1
Ha fatto il lavoro per il mio dopo aver letto tonnellate di possibili soluzioni! Grazie :)
ronnyrr,

7

http://www.java.com/en/download/faq/java_mac.xml è un bel posto da capire, mentre Apple interrompe il supporto a Java, perché le Preferenze Java non esistono più e si basano su System_Preferences => Java = > Java se Java 7 da Oracle è installato.


2
Questa è una buona informazione, ma dovresti davvero fornire più dettagli di un semplice link. Se il collegamento verrà interrotto in futuro, la tua risposta non sarà davvero molto utile.
psubsee2003,

7

Vorrei suggerirti di dare un'occhiata allo strumento Jenv

Ciò ti consentirà di passare in qualsiasi momento tra le tue JVM installate.

Semplicemente come:

jenv global oracle-1.7

poi in seguito a scopo di test:

jenv global oracle-1.6

E hai molti più comandi disponibili.


+1 per questa risposta in quanto puoi utilizzare Homebrew, se lo stai già utilizzando nel tuo sistema OS X. Molto più pulito di altri che dico. Maggiori informazioni qui: jenv.be
piku,

6

La codifica forzata del percorso JAVA_HOME potrebbe non essere la migliore idea. Il /usr/libexec/java_homedavanzale funziona per me su Mac OSX Lion 10.7.5 e JDK 1.7.0_13. Secondo la sua pagina man, dovrebbe essere usato con il vecchio pannello delle Preferenze Java di Apple, ma sembra funzionare con la sostituzione fornita da Oracle (Pannello di controllo Java). Ad esempio, l' /usr/libexec/java_home -Velenco di esecuzione di tutti i JDK installati (sia 1.6. * Che 1.7. *) Sulla mia macchina.

Quindi, come discusso in altri thread (ad es. Su cosa dovrei impostare JAVA_HOME su OSX ), consiglierei comunque di aggiungere la seguente riga al tuo .bash_profile:

export JAVA_HOME=$(/usr/libexec/java_home)

Sono d'accordo con il tuo commento qui, perché questa è la migliore pratica, ma per qualche ragione la variabile d'ambiente java_home non è stata impostata correttamente, motivo per cui non funziona. Credo che nell'ultimo aggiornamento di Apple il tuo suggerimento sia l'azione predefinita per JAVA_HOME nel terminale e altre applicazioni correlate per impostazione predefinita.
Derek,

@Derek Cosa intendi esattamente con "la variabile d'ambiente java_home non è impostata correttamente"? Secondo questo articolo l' /usr/libexec/java_homeutilità dovrebbe funzionare anche con le versioni java 7 e restituisce il percorso al JDK più aggiornato installato. Funziona perfettamente sulla mia macchina.
zagyi,

1
sì, dovrebbe funzionare, ma non per le persone con il problema menzionato da Pepijin.
Derek,

6

Questo è matto! In che modo Oracle fornisce un programma di installazione che non installa nulla !?

Comunque per me è stato:

sudo rm /usr/bin/java
sudo ln -s /Library/Java/JavaVirtualMachines/jdk1.8.0_31.jdk/Contents/Home/jre/bin/java /usr/bin/java

dove 1.8.0_31 è la versione java installata ...


Perché Apple non fornisce un metodo adeguato?
jwilleke,

6

Nel caso in cui tu abbia diverse versioni Java sul tuo computer e desideri sceglierlo dinamicamente in fase di esecuzione, vale a dire, nel mio caso, ho due versioni:

ls -la /Library/Java/JavaVirtualMachines
drwxr-xr-x  3 root  wheel    96B Nov 16  2014 jdk1.7.0_71.jdk/
drwxr-xr-x  3 root  wheel    96B Mar  1  2015 jdk1.8.0_31.jdk/

Puoi cambiarli modificando il contenuto / etc / profile. Aggiungi (o modifica) le seguenti due righe alla fine del file:

export JAVA_HOME=YOUR_JAVA_PATH/Contents/Home
export PATH=$JAVA_HOME/bin:$PATH

Nel mio caso, dovrebbe essere simile al seguente se voglio usare:

Java 7:

export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.7.0_71.jdk/Contents/Home
export PATH=$JAVA_HOME/bin:$PATH

Java 8:

export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_31.jdk/Contents/Home
export PATH=$JAVA_HOME/bin:$PATH

Dopo aver salvato il file, esegui source /etc/profile e dovrebbe funzionare. Ecco i risultati quando uso la prima e la seconda opzione di conseguenza:

Java 7:

java -version
java version "1.7.0_71"
Java(TM) SE Runtime Environment (build 1.7.0_71-b14)

Java 8:

java -version 
java version "1.8.0_31"
Java(TM) SE Runtime Environment (build 1.8.0_31-b13)

Il processo è simile se la cartella java si trova in posizioni diverse.


5

Soluzione semplice

export PATH="/Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home/bin:$PATH"

Eccezionale. Questa soluzione ha reso la mia giornata. Grazie mille Mick
Un utente il

3

Penso che tu possa provare a installare jdk non jre. Installando jdk, java in / usr / bin / java verrà sostituito e tutta la libreria funzionerà correttamente.


3

Se hai installato Homebrew, puoi installare java-switcher per cambiare più rapidamente la versione predefinita di Java

brew tap andycillin/tap
brew install java-switcher

Quindi è possibile utilizzare un solo comando per cambiare la versione Java predefinita.

java-switcher 1.7

o

java-switcher 10

Grazie Andy, è stato facile.
GreenROBO,

1

È possibile eseguire questo comando per trovare la versione di Java che si trova in / Library / Internet Plugins /:

defaults read /Library/Internet\ Plug-Ins/JavaAppletPlugin.plugin/Contents/Info.plist CFBundleVersion

1

Sta accadendo perché il tuo .bash_profile non riflette le modifiche. Per riflettere, basta usare il seguente comando

$ source .bash_profile

0

Dal momento che non ho affrontato questo problema, sto pensando:

Potete per favore provare questo:

Dove punta il collegamento soft "java_home" a:

ls -lrt /usr/libexec/java_home

Output: (Stunted) lrwxr-xr-x java_home -> /System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands/java_home

** ls -lrt /System/Library/Frameworks/JavaVM.framework/Versions My MAC Produce quanto segue:

 lrwxr-xr-x CurrentJDK ->
 /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents**

 lrwxr-xr-x   Current -> A
 lrwxr-xr-x  1 root  wheel   10 Oct 18 14:39 1.6.0 -> CurrentJDK
 lrwxr-xr-x  1 root  wheel   10 Oct 18 14:39 1.6 -> CurrentJDK
 lrwxr-xr-x  1 root  wheel   10 Oct 18 14:39 1.5.0 -> CurrentJDK
 lrwxr-xr-x  1 root  wheel   10 Oct 18 14:39 1.5 -> CurrentJDK
 lrwxr-xr-x  1 root  wheel   10 Oct 18 14:39 1.4.2 -> CurrentJDK
 lrwxr-xr-x  1 root  wheel   10 Oct 18 14:39 1.4 -> CurrentJDK

Sulla base di questo, potremmo avere un suggerimento per procedere oltre?


leggi alcuni commenti su Internet sui problemi di Java 7 con MAC-OSX e mostra bloccato . Consulta questo: grep.dk/tag/xprotect-meta-plist . In XProtect.meta.plist ho Java 7 e Flash elencati. Fino a quando non si gioca a Vulnerability Police
user1428716

0

ho risolto questo problema installando nuovamente Yosemite e quindi eseguendo il controllo incrociato della versione java sul terminale (java -version) e (javac -version). Funziona perfettamente ora. Non sta cambiando in java 7 poiché la versione 6 è ancora presente su (comando + n ) libray> java> javavirtualmachine> la versione corrente di javac.È necessario rivolgersi a java home.


0

Ho risolto questo problema con sudo rm /usr/bin/java

E ho scaricato e installato l'ultimo Java SE Runtime Environment: http://www.oracle.com/technetwork/java/javase/downloads/index.html

sudo ln -s /Library/Java/JavaVirtualMachines/jdk1.8.0_31.jdk/Contents/Home/jre/bin/java /usr/bin/javanon ha funzionato per me perché ho avuto Operation not permitted. El Capitan ora protegge alcune directory di sistema in modalità "rootless" (aka System Integrity Protection). È applicabile a macOS Sierra e probabilmente alle nuove versioni di macOS per il prossimo futuro.


0

L'installazione tramite JDK DMG distribuito dal sito Oracle aggiorna automaticamente tutto per me. Ho visto (in El Capitan) l'aggiornamento tramite System Preferences > Javado update, ma che non si riflette sulla riga di comando. L'installazione tramite DMG fa il lavoro.


0

Controlla le versioni JDK installate:

$ ls  /Library/Java/JavaVirtualMachines/
jdk-11.0.2.jdk  jdk1.8.0_91.jdk

Ora ~/.bashrcnell'esportazione JAVA_HOMEspecificando la versione:

if [ -e /usr/libexec/java_home ]; then
  export JAVA_HOME=$(/usr/libexec/java_home -v 11)
fi

Sorgente il file bashrc e la versione Java verrà aggiornata:

$ java -version
java version "11.0.2" 2019-01-15 LTS
Java(TM) SE Runtime Environment 18.9 (build 11.0.2+9-LTS)
Java HotSpot(TM) 64-Bit Server VM 18.9 (build 11.0.2+9-LTS, mixed mode)

0

L'ultimo metodo efficace al 100%:


in bash:

vim ~/.bash_profile

Inserisci

export PATH="/Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home/bin:$PATH"
  • :wq salvare
  • cmd + q force quit bash
  • apri di nuovo bash e digita java -version

Ma in realtà questo percorso indica jre non jdk.

Se si desidera indicare il percorso a JDK, è necessario

  1. Assicurarsi di aver installato JDK non un singolo runtime JRE
  2. sostituisci il percorso precedente a PATH="/Library/Java/JavaVirtualMachines/jdk1.8.0_221.jdk", puoi andare a /Library/Java/JavaVirtualMachinesper assicurarti di aver installato la versione di JDK che ti aspettavi.
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.