rhel에 Java가 설치되어 있는지 확인하는 방법

rhel에 Java가 설치되어 있는지 확인하는 방법

나는 rhel VM을 섰다. JDK가 설치되어 있는지 궁금해서 쉘(bash)에서 명령어를 실행해봤습니다.

whereis java

다음을 반환합니다.

java: /usr/bin/java

그래서 해당 경로로 이동하여 Java 프로그램을 확인합니다.

ls -l java

반품:

lrwxrwxrwx 1 root root 26 May 2016 10:52 java -> /usr/java/default/bin/java

지금까지는 괜찮았지만 Java 프로그램을 실행할 때:

java
-bash: java: command not found

Java에 대한 심볼릭 링크가 있는 것 같지만 /usr/java/default/bin/java가 더 이상 존재하지 않습니다. Java(jdk)가 설치되어 있는지 확인하고 싶은데 제가 본 내용으로는 확실하지 않습니다. 나는 그것이 설치되지 않았다고 믿고 싶습니다. 그렇다면 왜 시스템은 java: /usr/bin/java를 반환합니까?

답변1

나는 그것이 설치되지 않았다고 믿고 싶습니다. 그렇다면 왜 시스템은 java: /usr/bin/java를 반환합니까?

whereis심볼릭 링크는 해결되지 않습니다. 따라서 /usr/bin/java가 여전히 존재하는 경우 심볼릭 링크 대상이 손상되더라도 여전히 반환됩니다 . 올바른 결과를 얻으려면 java: /usr/bin/java사용하는 것이 좋습니다 . type -a java심볼릭 링크 대상 또는 심볼릭 링크가 아닌 소스 파일은 둘 다 실행 가능해야 합니다( chmod +x설정하려면). 그렇지 않으면 type -a파일이 존재하더라도 명령은 찾을 수 없음을 반환합니다( type실행 가능 여부에 관계없이 여전히 반환됩니다).

따라서 다음과 같이 단순화할 수 있습니다.

whereis: 심볼릭 링크가 끊어졌거나 실행할 수 없는 경우에도 반환됩니다.

유형: 실행 가능하지 않은 경우에도 "발견됨"을 반환하고, 심볼릭 링크가 끊어진 경우 "찾을 수 없음"을 반환합니다.

type -a: 기호 링크가 손상되었거나 실행할 수 없는 경우 찾을 수 없음을 반환합니다.

입력 파일이 존재하지 않으면 이들 모두 찾을 수 없음을 반환합니다.

그래서 제가 제안할 수 있는 것은 JDK를 다시 설치하는 것입니다."Oracle JDK"는 "OpenJDK"보다 낫습니다..

좋은 글을 발견할 수 있습니다여기.

다음을 수행할 수 있습니다(시스템이 x64라고 가정).

sudo rpm -ivh jdk-8u91-linux-x64.rpm
sudo rpm -ivh jdk-8u91-linux-x64-demos.rpm 

버전 번호는 다음과 같습니다.8u91위 버전들은 지속적으로 업데이트 되오니 자주 방문해주시기 바랍니다오라클 웹사이트최신 버전을 알아보세요. 딸깍 하는 소리JDK 다운로드버튼이 이쪽으로 갈 거예요페이지최신 버전 번호와 올바른 파일 이름이 표시됩니다.

문서를 다운로드할 수도 있습니다. 실제 링크는 여기에서 찾을 수 있습니다.페이지, 그리고 압축을 푼다(JDK가 이미 설치되어 있다고 가정 /usr/java/jdk1.8.0_91/):

sudo unzip jdk-8u91-docs-all.zip -d /usr/java/jdk1.8.0_91/ #optional

그런 다음 이 두 명령을 사용하여 올바른 javac 및 java를 선택하십시오. 나는 당신에게 하나의 옵션만 있다고 생각합니다(이 예에서는 내 것이 최신 8u91이 아니기 때문에 jdk1.8.0_74를 보여줍니다).

$ sudo alternatives --config javac

There are 2 programs which provide 'javac'.

  Selection    Command
-----------------------------------------------
*+ 1           /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.65-3.b17.fc21.x86_64/bin/javac
   2           /usr/java/jdk1.8.0_74/bin/javac

Enter to keep the current selection[+], or type selection number: 2
$
$ sudo alternatives --config java

There are 2 programs which provide 'java'.

  Selection    Command
-----------------------------------------------
*  1           /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.65-3.b17.fc21.x86_64/jre/bin/java
 + 2           /usr/java/jdk1.8.0_74/jre/bin/java

Enter to keep the current selection[+], or type selection number: 2
$ 

답변2

내 링크에 설명된 Java를 가리키도록 대안을 구성해야 할 수도 있습니다.

openjdk에 Oracle Java를 설치하려고 할 때 모든 것이 올바르게 연결되어 있고 올바른 버전의 Java가 실행되고 있는지 확인해야 한다는 것을 알았습니다.

RPM 시스템 시스템을 사용하는 경우 아래 링크의 단계를 사용하여 작동시켰습니다.

Oracle Java JDK CentOS 설치

다음 Java 명령은 대안이 올바르게 설정되었는지 확인합니다.

java -version

[root@somecomputer thebtm]# java -version
java version "1.8.0_77"
Java(TM) SE Runtime Environment (build 1.8.0_77-b03)
Java HotSpot(TM) 64-Bit Server VM (build 25.77-b03, mixed mode)

또 다른 측면은 이미 Oracle Java가 설치되어 있고 최신 Java rpm을 다운로드하여 설치한 경우 새 버전의 Java를 가리키도록 대안을 업데이트해야 한다는 것입니다.

[root@somecomputer thebtm]# alternatives --config java

There are 5 programs which provide 'java'.

  Selection    Command
-----------------------------------------------
*  1           /usr/java/jdk1.8.0_66/bin/java
   2           /usr/java/jdk1.8.0_66/jre/bin/java
   3           /usr/java/jre1.8.0_77/bin/java
   4           /usr/java/jdk1.8.0_77/jre/bin/java
 + 5           /usr/java/jre1.8.0_91/bin/java

Enter to keep the current selection[+], or type selection number: 5
[root@somecomputer thebtm]# java -version
java version "1.8.0_91"
Java(TM) SE Runtime Environment (build 1.8.0_91-b14)
Java HotSpot(TM) 64-Bit Server VM (build 25.91-b14, mixed mode)

관련 정보