Mam Ubuntu 12.04 amd64 zainstalowany na moim komputerze, w poprzednich wersjach Ubuntu było to śmiertelnie łatwe, teraz jest to polecenie update-java-alternatives
z naprawdę kiepską stroną podręcznika .
Właśnie rozpakowałem JDK na zamontowanej partycji, na przykład /media/mydisk/jdk
, w jaki sposób mogę wymusić użycie tego JDK zamiast tego, który jest w repozytorium Ubuntu?
Jaka jest logika tego update-java-alternatives
?
java
jdk
alternative
jre
użytkownik827992
źródło
źródło
Odpowiedzi:
Jako graficzną alternatywę dla metody wiersza poleceń @ AnwarShah, rozważ użycie Gnome Alternatives (
sudo apt-get install galternatives
):Uruchom GAlternative , wybierz każdą opcję Java , zmień ją na ręczną i dodaj swoją alternatywę (przykład tutaj to IBM JRE zainstalowany w moim katalogu domowym):
źródło
Możesz to zrobić za pomocą
sudo update-alternatives
:Musisz to zrobić także dla innych komponentów jdk. Składniki te
appletviewer
,extcheck
,idlj
,jar
,jarsigner
,java
,javac
,javadoc
,javah
,javap
,javaws
,jconsole
,jdb
,jexec
,jhat
,jinfo
,jmap
,jps
,jrunscript
,jsadebugd
,jstack
,jstat
,jstatd
,keytool
,mozilla-javaplugin.so
,native2ascii
,orbd
,pack200
,policytool
,rmic
,rmid
,rmiregistry
,schemagen
,serialver
,servertool
,tnameserv
,unpack200
,wsgen
,wsimport
,xjc
.W celu uzyskania dalszych informacji można znaleźć na stronach podręcznika dla
update-alternatives
:man update-alternatives
.Komenda
update-java-alternatives
ustawia alternatywy dla komponentów Java i wydaje się, że do tego służyupdate-alternatives
.EDYCJA: Powyższa odpowiedź dotyczy języka Java 6.
jcmd
do listy Java 6.jcmd
,jjs
ajdeps
do listy Java 6.jcmd
,jjs
,jdeps
ajshell
do listy Java 6.źródło
Właściwie używam tych poleceń do instalacji
jdk1.6.0_25
. (Sprawdź poniższy link, aby uzyskać zaktualizowany kompletny skrypt aktualizacji-alternatyw)Następnie możesz użyć tych poleceń, aby ustawić je jako domyślne. Najprawdopodobniej nie są one potrzebne.
Możesz uzyskać więcej pomocy za pomocą polecenia
man update-alternatives
lub możesz zobaczyć instrukcję w przeglądarce tutajCelem
update-java-alternatives
opisanego na stronie podręcznika jestWszystkie narzędzia jdk są
Mam nadzieję, że to ci pomoże.
Aktualizacja
Używam tego skryptu, aby wyodrębnić pobrany plik jdk, i go użyć,
update-alternatives
aby go w pełni ustawić. Zmodyfikuj nazwę pliku jdk iJAVA_DIR
odpowiednio do potrzeb.JAVA_DIR
jest ścieżką do wyodrębnionego folderu jdk.źródło
Możesz także użyć tego skryptu bash:
źródło
Zbyt skomplikowana większość odpowiedzi dla mnie.
Początkowo firma Oracle postanowiła mieć możliwość zainstalowania kilku wersji Java, w oparciu o ustawienie niektórych zmiennych środowiskowych.
To było łatwe, ale zbyt skomplikowane dla tych, którzy nie znali tych zmiennych, i ktoś wymyślił „update-java-alternatives”.
„update-java-alternatives” okazało się proste, gdy wszystko jest skonfigurowane, wystarczy uruchomić ten program i wybrać żądaną wersję.
Problem polega na tym, że to rozwiązanie jest zbyt skomplikowane, aby je skonfigurować, jeśli musisz skonfigurować siebie (musisz skonfigurować je dla każdego polecenia Java).
Najlepszą odpowiedzią jest powrót do podstaw .
ustaw w
.bash_profile
(dla użytkownika) lub w/etc/profile
(dla każdego użytkownika) następujące zmienne:W moim przypadku było to jeszcze łatwiejsze ... Miałem już plik
/etc/profile.d
z następującą zawartością (właśnie zaktualizowałem go do nowej struktury katalogów):I to wszystko!!!
źródło
Nie jest to tak skomplikowane, jak się wydaje z innych odpowiedzi. Musisz dodać ręcznie zainstalowaną Javę do listy alternatyw, a następnie zmienić na: (zamień jdk1.7.0_79 na swoją wersję)
źródło
update-java-alternatives jest naprawdę całkiem niezły. Tak więc, aby działał z moją ręczną instalacją: skopiuj jdk1.8.0_45 do / usr / lib / jvm
Następnie użyłem vima do wyszukiwania / zamiany:
Zmniejsz również priorytet o 1
: sigh: update-java-alternatives nie wykonuje instalacji. Ale przynajmniej mamy plik do pracy
Następnie wybrałem moją nową instalację:
źródło
Umieszczam w skrypcie to, co @ air-dex i @Anwar. Wiem, że @ test30 również napisał skrypt, ale było to dla mnie zbyt skomplikowane (początkujący skrypt), aby je zrozumieć. Pomyślałem, że opublikuję to tutaj, na wypadek, gdyby ktoś uznał to za przydatne.
źródło
Aby skonfigurować kompletną alternatywę dla jdk, możesz użyć następującego polecenia:
Użyłem tego po rozpakowaniu pliku tar.gz dla sun jdk1.7 do / usr / lib / jvm /
Chciałbyś zastąpić jdk1.7.0 nazwą katalogu posiadanej wersji i numerem 2 na dowolny numer, który ma być alternatywą.
źródło
Używam czegoś takiego jak poniżej, aby pobrać i zainstalować najnowszą Javę 8:
źródło
# Napisałem prosty skrypt
źródło
Utworzono inny nieco inny skrypt, aby domyślnie wszystkie rzeczy związane z javą były instalowane ręcznie w JDK:
Spowoduje to zainstalowanie nowych alternatyw i ustawienie ich jako domyślnych.
źródło
Wyczyściłem wszystko o JAVA 9 i ręcznie zainstalowałem nową świeżą Javę 10.
Uwaga : Potrzebujesz
update-alternatives
tylko, jeśli masz wiele wersji Java.Uwaga : Możesz wyczyścić wszystko o Javie przed nową instalacją nowej Java.
Dla nowej instalacji Java 10
Wyodrębnij i umieść gdzieś w
/opt/java
katalogu. Umieszczenie JDK wopt/java
katalogu sprawia, że będzie on dostępny dla wszystkich użytkowników( Uwaga : Pobrałem JDK, JRE i JRE serwera, wyodrębniłem JDK i zmieniłem nazwę wyodrębniłem folder na jdk10, wyodrębniłem JRE i zmieniłem nazwę wyodrębniłem folder na jre10, i wyodrębniłem JRE serwera i zmieniłem nazwę wyodrębniłem folder na jre10server, jak pokazano na poniższej migawce ).
Zaktualizuj plik środowiska / etc / jak poniżej
Teraz musisz ponownie załadować
/etc/environment
plik skryptu do systemu za pomocą polecenia source, jak poniżej.Jeśli chcesz dowiedzieć się więcej o alternatywach dla aktualizacji, oto link: Jak ustawić java jako domyślną dla ręcznie zainstalowanego JRE / JDK?
źródło
Niektóre łącza związane z java są na poziomie głównym i nie mogą być używane jako slave w update-alternatives --install. Zastosowano następujące polecenia, aby zainstalować JDK oracle i zaktualizować alternatywy. Mam nadzieję, że to pomoże.
PS: Powinien być wykonywany jako root / sudo.
źródło