다른 유사한 CentOS Linux 버전 7.3.1611에서 다음 단계에 따라 Java를 설치했는데 제대로 작동했습니다. 이 컴퓨터에서는 아래와 같은 단계를 실행했습니다.
1. wget --no-cookies --no-check-certificate --header "Cookie: gpw_e24=http%3A%2F%2Fwww.oracle.com%2F; oraclelicense=accept-securebackup-cookie" "http://download.oracle.com/otn-pub/java/jdk/8u121-b13/e9e7ea248e2c4826b92b3f075a80e441/jdk-8u121-linux-x64.tar.gz"
2. tar -xvzf jdk-8u121-linux-x64.tar.gz
3. alternatives --install /usr/bin/java java /usr/local/jdk1.8.0_121/java 2
4. alternatives --config java
5. alternatives --install /usr/bin/javac javac /usr/local/jdk1.8.0_121/bin/javac 2
6. alternatives --set javac /usr/local/jdk1.8.0_121/bin/javac
7. export PATH=$PATH:/usr/local/jdk1.8.0_121/bin:/usr/local/jdk1.8.0_121/jre/bin
따라서 이 단계를 다시 실행할 때마다 java -version이 작동합니다. 잠시 후 동일한 명령에 대해 찾을 수 없게 됩니다.
내 실수는 무엇입니까?
답변1
질문의 3번째 줄에 철자 오류가 있습니다. 대체 명령의 "/usr/local/jdk1.8.0_121/java"에서 "/bin/"을 생략합니다. "/usr/local/jdk1.8.0_121/bin/java"여야 합니다.
alternatives --install /usr/bin/java java /usr/local/jdk1.8.0_121/bin/java 180121
추가 정보: 이 방법으로 Java를 설치할 때 Alternatives 명령에서 일부 도우미 프로그램을 슬레이브로 만들었습니다. 우선순위를 위해 Java 버전 번호를 기반으로 문자열을 만들었습니다. 한 줄 명령으로 수행할 수 있지만 다음과 유사한 명령을 사용합니다.
alternatives --install /usr/bin/java java \
/usr/local/jdk1.8.0_121/bin/java 180121 \
--slave /usr/bin/jar jar /usr/local/jdk1.8.0_121/bin/jar \
--slave /usr/bin/jarsigner jarsigner /usr/local/jdk1.8.0_121/bin/jarsigner \
--slave /usr/bin/javac javac /usr/local/jdk1.8.0_121/bin/javac \
--slave /usr/bin/javadoc javadoc /usr/local/jdk1.8.0_121/bin/javadoc \
--slave /usr/bin/javah javah /usr/local/jdk1.8.0_121/bin/javah \
--slave /usr/bin/javap javap /usr/local/jdk1.8.0_121/bin/javap \
--slave /usr/bin/javaws javaws /usr/local/jdk1.8.0_121/bin/javaws \
--slave /usr/bin/jconsole jconsole /usr/local/jdk1.8.0_121/bin/jconsole \
--slave /usr/bin/jcontrol jcontrol /usr/local/jdk1.8.0_121/bin/jcontrol \
--slave /usr/bin/jdb jdb /usr/local/jdk1.8.0_121/bin/jdb \
--slave /usr/bin/jhat jhat /usr/local/jdk1.8.0_121/bin/jhat \
--slave /usr/bin/jinfo jinfo /usr/local/jdk1.8.0_121/bin/jinfo \
--slave /usr/bin/jmap jmap /usr/local/jdk1.8.0_121/bin/jmap \
--slave /usr/bin/jps jps /usr/local/jdk1.8.0_121/bin/jps \
--slave /usr/bin/jrunscript jrunscript /usr/local/jdk1.8.0_121/bin/jrunscript \
--slave /usr/bin/jsadebugd jsadebugd /usr/local/jdk1.8.0_121/bin/jsadebugd \
--slave /usr/bin/jstack jstack /usr/local/jdk1.8.0_121/bin/jstack \
--slave /usr/bin/jstat jstat /usr/local/jdk1.8.0_121/bin/jstat \
--slave /usr/bin/jstatd jstatd /usr/local/jdk1.8.0_121/bin/jstatd \
--slave /usr/bin/jvisualvm jvisualvm /usr/local/jdk1.8.0_121/bin/jvisualvm