리눅스에 설치된 모든 Java 버전을 보는 명령은 무엇입니까?


36

Java -version에 대해 알고 있습니다. 현재 실행중인 버전은 상관 없습니다 . 내 리눅스 박스에 어떤 다른 버전이 설치되어 있는지 상관합니다. 그것이 다른 java-* 명령이라면 java -help에서 그것을 보지 못했습니다.

인터넷 검색을 시도했지만 Windows에 대한 답변이거나 "java -version 사용"이라고 대답합니다. 나는 전에 이것을 한 것을 안다.

답변:


50

대부분의 Linux 배포판에서 다음 update-alternatives과 같이 사용할 수 있습니다 .

sudo update-alternatives --config java

java 명령을 제공하는 모든 패키지가 나열되며이를 변경할 수 있습니다. 변경하지 않으려면 간단히 변경 Ctrl-C하십시오.

java공식 패키지 관리자 ( dpkg/ apt-get, rpm/ yum)를 사용하지 않고 일부를 설치 했지만 간단히 추출하면 업데이트 대안이 표시 되지 않습니다 .


2
update-alternatives --list java그것들을 나열하기 위해 사용하지 않는 이유는 무엇입니까?
Xiao

4
@Xiao : 불행히도, 모든 버전의 업데이트 대안이 --list옵션을 갖지는 않습니다 . 예를 들어 Centos 6.7은 그렇지 않습니다.
mvp

1
RHEL 7에서 --list는 존재하지만 다른 매개 변수는 사용하지 않습니다.| grep java
Dmitri

4

당신은 할 수 있습니다 :

find / -name java 

모든 파일을 찾으려면 Linux 버전의 패키지 관리자도이를 나열 할 수 있어야합니다.


3
"패키지 관리자"... 누군가 Java 버전을 수동으로 설치하지 않는 한. 찾기는 올바른 접근 방법입니다. :) find / -type f -name java -print 2> / dev / null | xargs -i echo {}-버전 | bash
tink

@tink xargs에서 find를 어떻게 사용하지만 여러 개의 'java'실행 파일이있을 때 각 버전 결과 사이에 빈 줄을 추가합니까?
Lee Meador

@LeeMeadorfind /usr -type f -name java -print 2>/dev/null | xargs -i echo {} -version | bash 2>&1 | sed ':a;N;$!ba;s/\n/\n\n/g'
팅크

1

설정에 대한 자세한 내용은 원하는대로 남겨 두십시오. Java는 Linux에서 다른 방법으로 설치할 수 있습니다. apt, yum, yast와 같은 배포 패키지 maanger를 통해 설치하거나 수동으로 설치할 수 있습니다.

Java 설치는 대부분의 경우 좋은 결과를 얻기 위해 java 실행 파일이 필요하므로 locate 또는 find 명령을 사용하여 다른 명령을 찾을 수 있습니다.

링크와 복제본을 찾을 가능성이 가장 높은 예이지만 디렉토리 이름은이를 찾아내는 데 도움이됩니다.

for f in $(locate -ber '^java$'); do test -x && echo "$f"; done


1

이전에 다음을 사용하여 환경 변수 세트가 필요한 응용 프로그램의 Java 8 설치를 결정하여 기본값으로 설정되지 않은 Java 버전을 사용할 수있었습니다.

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

그러나 그것은 오늘 작동을 멈췄습니다. update-java-alternatives스크립트 / 프로그램은 더 이상 내 우분투 14.04 시스템에 설치되어 있지 않습니다. 현재 설치된 것은 alternatives입니다.

특정 대안 Java 경로를 얻기 위해 지금 사용하는 것은 다음과 같습니다.

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

그런 다음 결과를 마사지하여 앱의 환경 변수에 필요한 것을 얻을 수 있습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.