Il programma di aggiornamento Java sul mio Mac ha installato una versione oscura di Java 10.0.1 che non avevo mai sentito prima. Il risultato è che TUTTE le mie app java non funzionano più, il che rende Java inutile.
Le istruzioni ufficiali per rimuovere Java sono:
- sudo rm -fr / Library / Internet \ Plug-Ins / JavaAppletPlugin.plugin
Che è inutile perché Non uso Java sul browser (chi è abbastanza pazzo da farlo?)
- sudo rm -fr / Library / PreferencePanes / JavaControlPanel.prefPane
Che è inutile perché rimuove semplicemente il riquadro delle preferenze
- sudo rm -fr ~ / Library / Application \ Support / Java
Che è inutile perché questa directory è già vuota
Le istruzioni ufficiali per rimuovere Java su un Mac non fanno assolutamente nulla.
Se eseguo le mie app Java con java -jar dal terminale funzionano. Dal terminale, vedo questo:
Quindi, dal terminale, la versione Java è 1.8.0_131, che è la mia versione desiderata. Dal desktop, quando avvio le app con JavaAppLauncher, la versione di Java è 10.0.1.
Come posso annullare questo disastro che Oracle ha fatto con il loro aggiornamento automatico?
Risposta
Ho avuto lo stesso problema: avevo Java 8 installato, ma successivamente ho installato 10. Quindi, ho rimosso 10, e quando ho lanciato un jar da il terminale verrebbe eseguito nella versione 8 e quando ho controllato la versione con java -version
nel terminale, avrei restituito java version "1.8.0_181
. Tuttavia, quando eseguivo un .jar dal Finder , funzionava nella v.10 e anche se andavo al pannello delle preferenze di Java la versione era elencata come versione 10. Questo era indesiderabile: ero cercando di rimuovere completamente la v10.
Quindi, ho eliminato JavaAppletPlugin con rm /Library/Internet\ Plug-Ins/JavaAppletPlugin.plugin
e ho reinstallato Java SE JDK 8 da online ed ecco! ora funziona. Quando eseguo .jar, vengono eseguiti in Java 8.
Mi rendo conto che hai menzionato questo nel tuo primo passaggio, ma deduco che non lhai fatto? Se mi sbaglio, allora tu “Ho un problema diverso. Ma questo ha risolto il mio.
Commenti
- sì, non ho provato a eliminare il plugin dellapplet perché comunque lho disabilitato nel browser
- Ha perfettamente senso. Ma, in base alla mia esperienza, sembra che la presenza di JavaAppletPlugin stia influenzando la versione di Java utilizzata per eseguire app .jar dal Finder. Per me, ho eliminato JVM v10, ma solo quando ho eliminato JavaAppletPlugin il Finder ha smesso di utilizzare v10 per lesecuzione di app .jar.
Risposta
Credo che il problema sia navigare nella directory corretta … Una volta che sei dove dovresti essere, puoi eseguire i comandi sudo per rimuovere qualsiasi versione di java che desideri rimuovere.
Prima , esegui il comando nel terminale per determinare quale versione di Java sei e in esecuzione,
java -version
quindi puoi passare alla fastidiosa versione di java che intendi eliminare utilizzando il seguente comando:
cd /Library/Java/JavaVirtualMachines
quindi una volta che vedi che sei nel percorso JavaVirtualMachines
, digita ls
per vedere quali versioni di Java che hai installato,
ls
e infine quando sai quale versione o versioni di Java desideri disinstallare:
sudo rm -rf jdk-10.0.1.jdk #or whichever version you want to delete
Commenti
- Il problema è che la versione mostrata dal pannello di controllo non corrisponde alla versione java nel terminale. Se voglio rimuovere java 8.171 sembra che non sia possibile anche: imgur.com/a/iIK67bD
- E jdk 10.0. 1 non era presente in quella cartella
- @Magnetic_dud dovresti comunque essere in grado di eseguire il debug utilizzando la struttura della directory dei file utilizzando il comando ls e quindi eliminare e reinstallare un nuovo Jdk funzionante o qualsiasi altra versione di java che stai installando ..
- Semplice e ha funzionato per me. Grazie!
Risposta
Se hai più di una versione di jdk:
$ ls -l /Library/Java/JavaVirtualMachines drwxr-xr-x 3 root wheel 96 30 avr 15:15 jdk-10.0.1.jdk drwxr-xr-x 3 root wheel 96 30 avr 15:24 jdk1.8.0_172.jdk drwxr-xr-x 3 root wheel 96 17 oct 10:59 jdk1.8.0_191.jdk
cambia la tua JAVA_HOME
export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_191.jdk/Contents/Home
Risposta
Ho scaricato la vecchia versione (funzionante) da java.com
Infatti, Java 8.171 è il download mostrato di default. Non so perché è stato aggiornato automaticamente alla 10.0.1 quando è di qualità beta.
Ora, non lo installa, viene visualizzato il messaggio “Spiacenti, hai il nuovo e migliore Java 10.0.1”
Per linstallazione, esegui i comandi apparentemente inutili menzionati nella domanda. Java funzionerà comunque nel terminale, ma poi linstallatore ti permetterà di installare la versione giusta, 1.8_171
Ora disabilita gli aggiornamenti, se non vuoi rompere di nuovo le tue app. Java è una minaccia per la sicurezza, dovrebbe essere aggiornato mensilmente, quindi assicurati che sia disabilitato nel tuo browser.
Per qualche motivo, se esegui java -version ottieni ancora:
java version "1.8.0_131" Java(TM) SE Runtime Environment (build 1.8.0_131-b11)
Che è unaltra versione sbagliata. Comunque, limportante è che ora le tue app Java funzionano, assicurati che il plug-in del browser sia disabilitato per la tua sicurezza.
Risposta
Nel mio caso io avevo due JDK installati sul mio computer v11 e v7. Avevo bisogno di eseguire Eclipse Luna sul mio computer per un progetto. Ogni volta che eseguo in cmd java -version
ottengo java version 11.0.....
ecc. “
La soluzione per me era cambiare la variabile PATH
; per indicare il JDK con cui avevo bisogno di Eclipse per funzionare.
Quindi sostanzialmente cambio da:
C:\Program Files\Java\jdk-11.0.2\bin
a
C:\Java\JDK7\bin
Ora, loutput dellesecuzione di java -version è:
java version "1.7.0_76"
Commenti
- Apprezzo la tua risposta, ma sembra che questa sia una risposta destinata a Windows in un post su macOS.