Co to jest polecenie, aby zobaczyć wszystkie wersje java zainstalowane na Linuksie?

27

Wiem o wersji Java. Nie obchodzi mnie, jaka jestem wersja w tej chwili bieganie. Zależy mi na tym, jakie inne wersje są zainstalowane na moim Linuksie. Jeśli jest to kolejna komenda java - *, nie widziałem jej w java -help.

Próbowałem google, ale odpowiedzi są albo dla systemu Windows, albo mówią „użyj java -version” Wiem, że zrobiłem to już wcześniej.

wheaties
źródło

Odpowiedzi:

33

Na większości dystrybucji Linuksa możesz użyć update-alternatives lubię to:

sudo update-alternatives --config java

Wyświetli listę wszystkich pakietów, które dostarczają komendę java i pozwoli ci ją zmienić. Jeśli nie chcesz tego zmienić, po prostu Ctrl-C z tego.

Jest tylko jeden haczyk - jeśli go zainstalowałeś java nie używa oficjalnego menedżera pakietów ( dpkg / apt-get, rpm / yum ), ale po prostu wyodrębnij go, update-alternatives będzie nie Pokaż to.

mvp
źródło
2
Jakikolwiek powód, aby tego nie używać update-alternatives --list java po prostu je wymienić?
Xiao
3
@Xiao: niestety nie wszystkie wersje update-alternatives mają --list opcja. na przykład Centos 6.7 nie.
mvp
1
W RHEL 7 istnieje --list istnieje, ale nie przyjmuje żadnych innych parametrów, więc musisz | grep java
Dmitri
2

Mógłbyś:

find / -name java 

Aby znaleźć wszystkie pliki. Menedżer pakietów z Twoją wersją Linuksa powinien również być w stanie je wymienić.

Brad Patton
źródło
3
„menedżer pakietów” ... Chyba że ktoś ręcznie zainstalował wersję java. Find to poprawne podejście :) find / -type f -name java -print 2 & gt; / dev / null | xargs -i echo {} -version | grzmotnąć
tink
1

Pozostawiasz wiele do życzenia, jeśli chodzi o szczegóły dotyczące konfiguracji. Java może być instalowana na różne sposoby w Linuksie. Możesz zainstalować za pośrednictwem pakietu dystrybucyjnego maanger, takiego jak apt, yum, yast, lub możesz zainstalować go ręcznie.

W jaki sposób zainstalowałeś ją, instalacja Java wymaga pliku wykonywalnego java, aby w większości przypadków zrobić coś dobrego, więc możesz użyć poleceń locate lub find, aby znaleźć różne.

Przykład, który najprawdopodobniej znajdzie linki i duplikaty, ale nazwy katalogów powinny pomóc ci je wskazać:

for f in $(locate -ber '^java$'); do test -x && echo "$f"; done
maedox
źródło
1

Używam tego, aby wyświetlić listę dostępnych instalacji Java:

sudo update-alternatives --display java
Jaime C Vega
źródło
bash: update-alternatives: command not found ?
Jimmy Obonyo Abor
1

Wcześniej korzystałem z poniższych opcji, aby określić instalację java 8 dla aplikacji, która potrzebowała zestawu zmiennych środowiskowych, aby mógł użyć wersji java, która nie została ustawiona jako domyślna:

update-java-alternatives -l java-8-oracle

Jednak to przestało działać dzisiaj. The update-java-alternatives skrypt / program nie jest już zainstalowany na moim systemie Ubuntu 14.04. Co teraz jest zainstalowane alternatives.

Tym, czego teraz używam, aby uzyskać konkretną alternatywę ścieżki java, jest:

alternatives --display java | grep priority | grep jdk-1.8

Następnie mogę masować wynik, aby uzyskać to, czego potrzebuję dla zmiennej środowiskowej aplikacji.

MorganGalpin
źródło