Używam Java 6 na Ubuntu 11.10, ale teraz chcę zaktualizować do wersji 7. Zainstalowałem wersję 7 za pośrednictwem PPA, jak opisano tutaj . Jeśli ucieknę
sudo update-alternatives --config java
Otrzymuję następujące dane wyjściowe:
There are 2 choices for the alternative java (providing /usr/bin/java).
Selection Path Priority Status
------------------------------------------------------------
0 /usr/lib/jvm/java-7-oracle/jre/bin/java 64 auto mode
1 /usr/lib/jvm/java-6-sun/jre/bin/java 63 manual mode
* 2 /usr/lib/jvm/java-7-oracle/jre/bin/java 64 manual mode
Podobnie, jeśli uruchomię:
sudo update-alternatives --config javac
Otrzymuję wynik:
Selection Path Priority Status
------------------------------------------------------------
0 /usr/lib/jvm/java-7-oracle/bin/javac 64 auto mode
1 /usr/lib/jvm/java-6-sun/bin/javac 63 manual mode
* 2 /usr/lib/jvm/java-7-oracle/bin/javac 64 manual mode
Wygląda więc na to, że wersja 7 jest już domyślna. Ale jeśli biegnę albo
java -version
lub
javac -version
Dane wyjściowe wskazują, że wersja 6 jest nadal domyślna. Jak mogę ustawić domyślną wersję 7?
11.10
java
update-alternatives
Dónal
źródło
źródło
update-alternatives
, którego już próbowałemsudo apt-get install oracle-java7-set-default
i restart ?Odpowiedzi:
Zgodnie z odpowiedzią: Jak ustawić domyślną wersję Java?
Spróbuj podać jawną ścieżkę wraz z
update-alternatives --install
, a następnie uruchom,update-alternatives
aby dokonać wyboru:źródło
Musisz
javac
też ustawić .źródło
Miałem ten sam problem. Miałem zainstalowany Sun JDK6. Po
ponowne uruchomienie było dla mnie konieczne. Niż zadziałało.
Edycja: Zrozumiałem, że nie wystarczy wykonać powyższe kroki.
Musiałem także edytować zmienną środowiskową:
I dodaj (inna wersja Java wymaga innego ciągu):
źródło
wstaw numer identyfikujący żądaną ścieżkę i naciśnij klawisz Enter. w takim przypadku wstaw 1.
na koniec spróbuj przetestować wersję
java -version
źródło
update-alternatives
wskazujące, że już używam wersji 7, alejava -version
pokazuje, że nadal używam wersji 6.Myślę, że twój plik binarny java wskazuje na coś innego niż
/etc/alternatives/java
.Sprawdź wydajność:
type java
Czy to znaczy
/usr/bin/java
? Jeśli tak, sprawdź, czy prawidłowo wskazuje to na alternatywy:ls -l /usr/bin/java
powinien pokazać, że wskazuje/etc/alternatives/java
.Wreszcie potwierdzić, że
/etc/alternatives/java
sama jest skierowany do java-7ls -l /etc/alternatives/java
.Polecenie update-alternatives dostosowuje tylko ostatni i zakłada, że punkty domyślne, z
/usr/bin/java
którymi z kolei są poprawnie połączone/etc/alternatives/java
.źródło
Próbowałem prawie wszystkich metod wymienionych powyżej, ale nadal znalazłem
java -version
wydrukować niewłaściwą wersję,ls -al /etc/alternatives/java
wskazując już na właściwą.Więc uruchamiam:
which java
i stwierdziłem, że wynik pokazuje, że korzystałem z Java/usr/local/jdk_xxx/bin/java
, następnie usunąłem ten folder i ponownie uruchomiłem terminal. Teraz Java działa dobrze.Mam nadzieję, że pomoże to innym.
źródło