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?

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.


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

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

-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.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.