
(내 서식이 꺼져 있으면 미리 사과드립니다. 이것은 내 첫 번째 게시물이므로 언제든지 수정해 주시기 바랍니다.)
일반적으로 내가 사용하고 있는 Java 버전을 확인하려면 다음을 실행합니다.
java -version
자바 버전 "1.7.0_55"
Java 버전(Java 7에서 Java 6으로)을 변경하려면 해당 JRE Java 바이너리에 대한 심볼릭 링크(/usr/bin/java)를 가리키기만 하면 됩니다. (여기서는 javac 컴파일러나 java_ws에 대해 걱정할 필요가 없습니다. 이 경우 btw).
# readlink -f /usr/bin/java
/usr/lib/jvm/java-7-openjdk-i386/jre/bin/java
# ln -s /usr/lib/jvm/java-6-openjdk-i386/jre/bin/java /usr/bin/java
# java -version
자바 버전 "1.6.0_31"
이것은 괜찮습니다. 제가 보기에는 작동합니다.
Solaris에는 pkg 중재자 도구를 통해 이를 수행하는 좋은 방법이 있습니다:
myHost# pkg mediator -H java
자바 시스템 1.7 시스템
Java를 1.7에서 1.6으로 변경하려면:
pkg set-mediator -V 1.6 java
그런 다음 변경 사항을 확인하려면
myHost# pkg mediator -H java
자바 로컬 1.6 시스템
apt
동등한 것이 있는지 궁금합니다 . 아니면 Java 버전 간에 전환하는 더 우아한 방법이 있습니까?
편집: 이것은 Python에도 적용될 수 있으므로 Java 관련 답변을 찾고 있지 않습니다.
답변1
설치된 소프트웨어의 여러 버전 간을 전환하는 올바른 방법은 다음을 사용하는 것입니다.
sudo update-alternatives --config <package>
따라서 Java의 경우 다음을 실행해야 합니다.
sudo update-alternatives --config java
그러면 설치된 버전이 반환됩니다. 제 경우에는 다음과 같습니다.
There are 2 choices for the alternative java (providing /usr/bin/java).
Selection Path Priority Status
------------------------------------------------------------
* 0 /usr/lib/jvm/java-7-oracle/jre/bin/java 1053 auto mode
1 /usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java 1051 manual mode
2 /usr/lib/jvm/java-7-oracle/jre/bin/java 1053 manual mode
버전 간에 전환하려면 selection
전환하려는 버전에 따라 이 경우 0, 1, 2를 입력할 수 있습니다.
그러나 Python의 경우 python2 및 python3은 대안이 아니므로 이 옵션을 찾을 수 없으므로 이에 대한 별칭을 만들어야 합니다.
따라서 Python이 Python 버전 2.xx를 참조하고 python3이 Python 버전 3.xx를 참조하도록 하려면 ~/.bash_aliases
파일을 열고 다음을 입력하면 됩니다.
alias python=`/usr/bin/python`
alias python3=`/usr/bin/python3`
이전에 별칭을 생성한 적이 없다면 이 파일은 비어 있을 수 있습니다. 그래도 괜찮습니다. 별칭을 반대 방향으로 원할 수도 있습니다. 예를 들어 python은 python3을 참조하고 python2는 python2를 참조합니다. 원하는 대로 별칭을 조정할 수 있습니다.
보시다시피 설치된 버전이 서로 대체 버전인지 여부에 따라 다릅니다. 대체 버전인 경우 를 사용할 수 있고, update-alternatives
그렇지 않은 경우 별칭이나 소프트 링크를 사용하여 조정해야 합니다. 더 좋고 깨끗한 솔루션이 있을 수 있지만 저는 그런 솔루션을 알지 못합니다.