Jak usunąć Java 10? Lub powrócić do poprzedniej wersji?

26

Aktualizator Java na moim komputerze Mac zainstalował niejasną wersję Java 10.0.1, o której nigdy wcześniej nie słyszałem. W rezultacie WSZYSTKIE moje aplikacje Java nie działają, co sprawia, że ​​Java nie ma sensu.

Te oficjalne instrukcje, aby usunąć Java są:

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

Co jest bezużyteczne, ponieważ nie używam Java w przeglądarce (kto jest na tyle szalony, aby to zrobić?)

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

Co jest bezużyteczne, ponieważ po prostu usuwa panel preferencji

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

Co jest bezużyteczne, ponieważ ten katalog jest już pusty

Oficjalne instrukcje usuwania Java na Macu absolutnie nic nie robią.

Jeśli uruchamiam moje aplikacje Java z java -jar z terminala, działają. Z terminala widzę to:

/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

Tak więc z terminala wersja Java to 1.8.0_131, która jest moją pożądaną wersją. Z pulpitu, gdy uruchamiam aplikacje za pomocą JavaAppLauncher, wersja Java to 10.0.1.

Jak mogę cofnąć tę katastrofę, którą Oracle zrobiło z ich automatycznym aktualizatorem?

Magnetic_dud
źródło

Odpowiedzi:

4

Miałem ten sam problem: zainstalowałem Javę 8, ale później zainstalowałem 10. Potem usunąłem 10, a kiedy uruchomiłem jar z terminala , będzie działał w wersji 8, a kiedy sprawdzę wersję z java -versionterminalem I wróci java version "1.8.0_181. Jednak gdy uruchomiłem .jar z Findera , działałby on w wersji 10, a także gdybym wszedł do panelu preferencji Java, wersja byłaby wymieniona jako wersja 10. To było niepożądane: starałem się całkowicie usunąć wersję 10.

Następnie usunąłem JavaAppletPlugin rm /Library/Internet\ Plug-Ins/JavaAppletPlugin.plugini ponownie zainstalowałem Java SE JDK 8 z trybu online i lo! Teraz działa. Kiedy uruchamiam .jar, działają one w Javie 8.

Zdaję sobie sprawę, że wspomniałeś o tym na pierwszym etapie, ale wnioskuję, że tego nie zrobiłeś? Jeśli się mylę, masz inny problem. Ale to rozwiązało moje.

postylem
źródło
tak, nie próbowałem usunąć wtyczki apletu, ponieważ w każdym razie wyłączyłem ją w przeglądarce
Magnetic_dud
Ma pełny sens. Jednak na podstawie mojego doświadczenia wydaje się, że obecność JavaAppletPlugin wpływa na to, która wersja Java jest używana do uruchamiania aplikacji .jar z Findera. Dla mnie usunąłem JVM v10, ale dopiero po usunięciu JavaAppletPlugin wyszukiwarka przestała używać v10 do uruchamiania aplikacji .jar.
postylem,
45

Uważam, że problem polega na przejściu do właściwego katalogu ... Gdy już znajdziesz się w odpowiednim miejscu, możesz uruchomić polecenia sudo, aby usunąć dowolną wersję Java, którą chcesz usunąć.

Najpierw uruchom polecenie w terminalu, aby ustalić, którą wersję Javy używasz,

java -version

następnie możesz przejść do nieznośnej wersji Java, którą zamierzasz usunąć, używając następującego polecenia:

cd /Library/Java/JavaVirtualMachines

a kiedy zobaczysz, że jest na JavaVirtualMachinesścieżce, wpisz, lsaby zobaczyć, jakie wersje Java zostały zainstalowane,

ls

i wreszcie, gdy wiesz, którą wersję lub wersje Java chcesz odinstalować:

sudo rm -rf jdk-10.0.1.jdk #or whichever version you want to delete
Colin Ilgen
źródło
Problem polega na tym, że wersja wyświetlana przez panel sterowania nie odpowiada wersji Java w terminalu. Jeśli chcę usunąć java 8.171, wygląda na to, że nie ma również sposobu: imgur.com/a/iIK67bD
Magnetic_dud
Jdk 10.0.1 nie był obecny w tym folderze
Magnetic_dud
@Magnetic_dud nadal powinno być możliwe debugowanie przy użyciu struktury katalogów plików za pomocą polecenia ls, a następnie usunięcie i ponowne zainstalowanie nowego działającego Jdk lub dowolnej zainstalowanej wersji Java.
Colin Ilgen
9

Jeśli masz więcej niż jedną wersję 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

zmień swój JAVA_HOME

export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_191.jdk/Contents/Home
Mokasyna
źródło
-1

Pobrałem starą (działającą) wersję ze strony java.com

W rzeczywistości Java 8.171 to pobieranie wyświetlane domyślnie. Nie wiem, dlaczego został automatycznie zaktualizowany do wersji 10.0.1, gdy ma jakość beta.

Teraz nie będzie go instalować, mówi „Przepraszam, masz nowszą i lepszą Javę 10.0.1”

Aby zainstalować, uruchom pozornie bezużyteczne polecenia wymienione w pytaniu. Java będzie nadal działać w terminalu, ale wtedy instalator pozwoli ci zainstalować odpowiednią wersję, 1.8_171

Teraz wyłącz aktualizacje, jeśli nie chcesz ponownie łamać aplikacji. Java stanowi zagrożenie bezpieczeństwa i powinna być aktualizowana co miesiąc, więc upewnij się, że jest wyłączona w przeglądarce.

Z jakiegoś powodu, jeśli uruchomisz wersję java, nadal otrzymasz:

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

Co jest kolejną złą wersją. W każdym razie ważne jest to, że teraz działają aplikacje Java, upewnij się, że wtyczka przeglądarki jest wyłączona ze względów bezpieczeństwa.

Magnetic_dud
źródło