답변:
Sun 에서 Linux 바이너리 를 다운로드하면 원하는 디렉토리에 설치할 수 있습니다. 그런 다음 코드에서 해당 라이브러리를 참조하면 좋습니다.
이진 설치 프로그램을 사용하면 자체 이름이 지정된 하위 디렉토리 (예 : /usr/java/jdk1.5.0_)를 작성하므로 원하는만큼 다운로드 할 수 있으며 적절한 이름으로 정렬됩니다. 하위 명령.
기본 자바 바이너리는 / usr / bin에 존재하므로 "java"를 입력 할 때 자바가 아닌 다른 곳으로 접근하는 지점으로 바꾸려면 이전의 것을 / usr / bin에서 옮기십시오. 새 링크를 연결하십시오. 입력 which java
하면 시스템의 기본 Java가 무엇인지 알려줍니다.
@jldupont : 동시 설치를 생각할 때 동일한 시스템에 여러 버전이 설치되어 있다고 생각합니다. 아직 업데이트되지 않은 회사의 수작업을 처리하기 위해 프로덕션 상자에 약 12 가지 버전의 Java가 설치되어 있습니다.
그러나 "java"를 입력하면 '/ usr / bin'의 내용이므로 하나의 Java 버전 만 가져옵니다. '/usr/java/jdk1.5.1/ bin / java '는 시스템 기본값이 아닌 특정 Java 바이너리를 가져옵니다.
oracle에서 .bin 파일을 다운로드하여 실행하면 폴더에 압축이 풀립니다. 이 폴더 (예 jdk1.6.0_32
:)를 / usr / lib / jvm으로 옮긴 다음 setjava
Java 버전을 변경하는 데 사용 하는 스크립트로 이동하십시오 . export
그러나 진술 때문에 같은 터미널에 머물러야합니다. 또한 일부 작은 jvm 도구가 설정되지 않았을 수 있지만 대부분의 경우 작동해야한다고 생각합니다. 또한 나는 쉘 멍청한 놈이므로 더 나은 가능성이 있다면 나를 수정하십시오 :-) 나를위한 코드는 다음과 같습니다
#!/bin/bash
# shouldnt be used in a loop, else the path may become too long
if [[ $(/usr/bin/id -u) -ne 0 ]]; then
echo "Not running as root"
exit
fi
case "$1" in
6)
echo "Setting Java version 6"
export PATH=/usr/lib/jvm/jdk1.6.0_32/bin:$PATH
export JAVA_HOME=/usr/lib/jvm/jdk1.6.0_32
sudo rm /usr/bin/java
sudo rm /usr/bin/javac
sudo rm /usr/bin/javadoc
sudo rm /usr/bin/javah
sudo rm /usr/bin/javap
sudo rm /usr/bin/javaws
sudo ln -s /usr/lib/jvm/jdk1.6.0_32/bin/java /usr/bin/java
sudo ln -s /usr/lib/jvm/jdk1.6.0_32/bin/javac /usr/bin/javac
sudo ln -s /usr/lib/jvm/jdk1.6.0_32/bin/javadoc /usr/bin/javadoc
sudo ln -s /usr/lib/jvm/jdk1.6.0_32/bin/javah /usr/bin/javah
sudo ln -s /usr/lib/jvm/jdk1.6.0_32/bin/javap /usr/bin/javap
sudo ln -s /usr/lib/jvm/jdk1.6.0_32/bin/javaws /usr/bin/javaws
javac -version
java -version
;;
7)
echo "Setting Java version 7"
export PATH=/usr/lib/jvm/java-7-openjdk/bin:$PATH
export JAVA_HOME=/usr/lib/jvm/java-7-openjdk/
sudo rm /usr/bin/java
sudo rm /usr/bin/javac
sudo rm /usr/bin/javadoc
sudo rm /usr/bin/javah
sudo rm /usr/bin/javap
sudo rm /usr/bin/javaws
sudo ln -s /usr/lib/jvm/java-7-openjdk/bin/java /usr/bin/java
sudo ln -s /usr/lib/jvm/java-7-openjdk/bin/javac /usr/bin/javac
sudo ln -s /usr/lib/jvm/java-7-openjdk/bin/javadoc /usr/bin/javadoc
sudo ln -s /usr/lib/jvm/java-7-openjdk/bin/javah /usr/bin/javah
sudo ln -s /usr/lib/jvm/java-7-openjdk/bin/javap /usr/bin/javap
sudo ln -s /usr/lib/jvm/java-7-openjdk/bin/javaws /usr/bin/javaws
javac -version
java -version
;;
*)
echo "Usage: $0 {6|7}"
esac
exit 0