Come rimuovere Java 10? O tornare alla versione precedente?


26

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 sono più in esecuzione, il che rende Java inutile.

Le istruzioni ufficiali per rimuovere Java sono:

  • sudo rm -fr / Library / Internet \ Plug-Ins / JavaAppletPlugin.plugin

Il che è inutile perché non utilizzo Java sul browser (chi è abbastanza pazzo da farlo?)

  • sudo rm -fr /Library/PreferencePanes/JavaControlPanel.prefPane

Il che è inutile perché rimuove solo il riquadro delle preferenze

  • sudo rm -fr ~ / Library / Application \ Support / Java

Il 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:

/usr/libexec/java_home -V
Matching Java Virtual Machines (3):
    1.8.0_131, x86_64:  "Java SE 8" /Library/Java/JavaVirtualMachines/jdk1.8.0_131.jdk/Contents/Home
    1.6.0_65-b14-468, x86_64:   "Java SE 6" /Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home
    1.6.0_65-b14-468, i386: "Java SE 6" /Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home

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 Java è 10.0.1.

Come posso ripristinare questo disastro che Oracle ha fatto con il suo aggiornamento automatico?

Risposte:


4

Ho avuto lo stesso problema: avevo Java 8 installato, ma in seguito ho installato 10. Quindi, ho rimosso 10, e quando ho lanciato un jar dal terminale sarebbe stato eseguito nella versione 8, e quando ho controllato la versione con java -versionnel terminale I sarebbe tornato java version "1.8.0_181. Tuttavia, quando eseguivo un .jar dal Finder , veniva eseguito nella v.10, e anche se andassi nel riquadro delle preferenze Java la versione veniva elencata come versione 10. Questo non era desiderabile: stavo cercando di rimuovere completamente la v10.

Quindi, ho eliminato JavaAppletPlugin con rm /Library/Internet\ Plug-Ins/JavaAppletPlugin.plugine reinstallato Java SE JDK 8 da online, e lo! ora funziona. Quando eseguo .jar, vengono eseguiti in Java 8.

Mi rendo conto che lo hai menzionato nel tuo primo passo, ma deduco che non hai fatto questo passo? Se mi sbaglio, allora hai un problema diverso. Ma questo ha risolto il mio.


si non ho provato ad eliminare il plugin dell'applet perché comunque l'ho disabilitato nel browser
Magnetic_dud

Ha un senso totale. Ma, in base alla mia esperienza, sembra che la presenza di JavaAppletPlugin influisca sulla versione di Java utilizzata per eseguire le app .jar dal Finder. Per me, ho eliminato JVM v10, ma solo quando ho eliminato JavaAppletPlugin il Finder ha smesso di usare v10 per l'esecuzione di app .jar.
postylem,

45

Credo che il problema sia passare alla directory corretta ... Una volta che sei dove dovresti essere, puoi eseguire i comandi sudo per rimuovere qualsiasi versione di Java che desideri rimuovere.

Innanzitutto, esegui il comando nel terminale per determinare quale versione di Java stai eseguendo,

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 sono nel JavaVirtualMachinespercorso, digita lsper vedere quali versioni di Java hai installato,

ls

e infine quando sai quale versione o versioni di Java vuoi disinstallare:

sudo rm -rf jdk-10.0.1.jdk #or whichever version you want to delete

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 ci sia nemmeno modo: imgur.com/a/iIK67bD
Magnetic_dud

E il jdk 10.0.1 non era presente in quella cartella
Magnetic_dud

@Magnetic_dud dovresti essere ancora in grado di eseguire il debug utilizzando la struttura della directory dei file utilizzando il comando ls, quindi eliminare e reinstallare un nuovo Jdk funzionante o qualsiasi versione java che stai installando ..
Colin Ilgen

9

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 il tuo JAVA_HOME

export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_191.jdk/Contents/Home

-1

Ho scaricato la vecchia versione (funzionante) da java.com

In effetti, Java 8.171 è il download mostrato per impostazione predefinita. Non so perché sia ​​stato automaticamente aggiornato alla 10.0.1 quando è di qualità beta.

Ora, non lo installerà, dice "Siamo spiacenti, hai il 10.0.1 Java più recente e migliore"

Per l'installazione, esegui i comandi apparentemente inutili menzionati nella domanda. Java funzionerà ancora nel terminale, ma il programma di installazione ti consentirà di installare la versione corretta, 1.8_171

Ora, disabilita gli aggiornamenti, se non vuoi più rompere le tue app. Java è una minaccia alla sicurezza, dovrebbe essere aggiornato mensilmente, quindi assicurati che sia disabilitato nel tuo browser.

Per qualche motivo, se esegui java -version otterrai ancora:

java version "1.8.0_131"
Java(TM) SE Runtime Environment (build 1.8.0_131-b11)

Qual è un'altra versione sbagliata. Comunque, l'importante è che ora che le tue app Java funzionino, assicurati che il plugin del browser sia disabilitato per la tua sicurezza.

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.