Java-uppdateraren på min Mac installerade en obskur version av Java 10.0.1 som jag aldrig hört förut. Resultatet är att ALLA mina Java-appar inte körs längre, vilket gör Java meningslöst.
officiella instruktioner för att ta bort Java är:
- sudo rm -fr / Library / Internet \ Plug-Ins / JavaAppletPlugin.plugin
Vilket är värdelöst eftersom Jag använder inte Java i webbläsaren (vem är galen nog för att göra det?)
- sudo rm -fr / Library / PreferencePanes / JavaControlPanel.prefPane
Vilket är värdelöst eftersom det bara tar bort inställningsfönstret
- sudo rm -fr ~ / Library / Application \ Support / Java
Vilket är värdelöst eftersom den här katalogen är redan tom
De officiella instruktionerna för att ta bort Java på en Mac gör absolut ingenting.
Om jag kör mina Java-appar med java -jar från terminalen fungerar de. Från terminalen ser jag detta:
Så från terminalen är Java-versionen 1.8.0_131, vilket är min önskade version. Från skrivbordet, när jag startar appar med JavaAppLauncher, är Java-versionen 10.0.1.
Hur kan jag återställa denna katastrof som Oracle gjorde med sin automatiska uppdatering?
Svar
Jag hade samma problem: Jag hade Java 8 installerat, men senare installerat 10. Sedan tog jag bort 10, och när jag startade en burk från terminalen den skulle köras i version 8, och när jag kollade versionen med java -version
i terminalen skulle jag komma tillbaka java version "1.8.0_181
. Men när jag körde en .jar från Finder skulle den köras i v.10, och även om jag gick till Java-inställningsfönstret listades versionen som version 10. Detta var inte önskvärt: jag var försöker ta bort v10 helt.
Sedan raderade jag JavaAppletPlugin med rm /Library/Internet\ Plug-Ins/JavaAppletPlugin.plugin
och installerade om Java SE JDK 8 från online och lo! det fungerar nu. När jag kör .jar kör de i Java 8.
Jag inser att du nämnde detta i ditt första steg, men jag drar slutsatsen att du inte gjorde det här steget? Om jag har fel om det så är du ”har ett annat problem. Men den här löste min.
Kommentarer
- ja jag försökte inte ta bort applet-plugin eftersom jag ändå inaktiverade det i webbläsaren
- Ger total mening. Men baserat på min erfarenhet verkar det som om närvaron av JavaAppletPlugin påverkar vilken version av Java som används för att köra .jar-appar från Finder. För mig raderade jag JVM v10, men först när jag raderade JavaAppletPlugin slutade sökaren att använda v10 för att köra .jar-appar.
Svar
Jag tror att problemet är att navigera till rätt katalog … När du är där du ska vara kan du köra sudo-kommandona för att ta bort vilken version av java du vill ta bort.
Först , kör kommandot i terminalen för att bestämma vilken version av Java du är när du kör,
java -version
kan du navigera till irriterande version av java som du tänker ta bort med följande kommando:
cd /Library/Java/JavaVirtualMachines
och när du ser är i JavaVirtualMachines
sökvägen, skriv in ls
för att se vilka versioner av Java du har installerat,
ls
och slutligen när du vet vilken version eller versioner av Java du vill avinstallera:
sudo rm -rf jdk-10.0.1.jdk #or whichever version you want to delete
Kommentarer
- Problemet är att den version som kontrollpanelen visar inte matchar Java-versionen i terminalen. Om jag vill ta bort java 8.171 ser ut att det inte finns något sätt också: imgur.com/a/iIK67bD
- Och jdk 10.0. 1 fanns inte i den mappen
- @Magnetic_dud du skulle fortfarande kunna felsöka med din filkatalogstruktur med kommandot ls och sedan ta bort och installera om en ny fungerande Jdk eller vilken Java-version du installerar ..
- Enkelt och fungerade för mig. Tack!
Svar
Om du har mer än en version av 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
byt JAVA_HOME
export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_191.jdk/Contents/Home
Svar
Jag laddade ner den gamla (fungerande) versionen från java.com
Faktum är att Java 8.171 är den nedladdning som visas som standard. Jag vet inte varför den uppdaterades automatiskt till 10.0.1 när det är beta-kvalitet.
Nu kommer det inte att installeras, det står ”Tyvärr, du har den nyare och bättre 10.0.1 Java”
För installation, kör de uppenbarligen värdelösa kommandona som nämns i frågan. Java kommer fortfarande att fungera i terminalen, men då tillåter installationsprogrammet dig att installera rätt version, 1.8_171
Inaktivera nu uppdateringarna, om du inte vill bryta dina appar igen. Java är ett säkerhetshot, det bör uppdateras varje månad, så se till att det är inaktiverat i din webbläsare.
Av någon anledning, om du kör java -version får du fortfarande:
java version "1.8.0_131" Java(TM) SE Runtime Environment (build 1.8.0_131-b11)
Vilket är en annan fel version. Hur som helst, det viktiga är att nu dina Java-appar fungerar, se till att webbläsarinsticksprogrammet är inaktiverat för din säkerhet.
Svar
I mitt fall jag hade två JDK installerade på min dator v11 och v7. Jag behövde köra Eclipse Luna på min dator för ett projekt. När jag kör i cmd java -version
fick jag java version 11.0.....
etc. ”
Lösningen för mig var att ändra PATH
variabeln; för att peka på JDK som jag behövde Eclipse att köra med.
Så i grund och botten ändrar jag från:
C:\Program Files\Java\jdk-11.0.2\bin
till
C:\Java\JDK7\bin
Nu är resultatet från att köra Java -version:
java version "1.7.0_76"
Kommentarer
- Jag uppskattar ditt svar, men detta verkar vara ett svar som är avsett för Windows i ett inlägg om macOS.