Java 1.7이 설치되어 있고 Java 1.6을 설치하려고 합니다.
새 위치를 가리키는 java_home 및 경로 변수를 업데이트하고 이러한 명령도 실행했습니다.
sudo update-alternatives --set java /usr/local/java/jdk1.6.0_45/bin/java
sudo update-alternatives --set javac /usr/local/java/jdk1.6.0_45/bin/javac
내 java -version은 java 1.6을 표시하지만 java class_name을 실행하면 다음 오류가 발생합니다.
Exception in thread "main" java.lang.UnsupportedClassVersionError: three : Unsupported major.minor version 51.0
sudo update-alternatives --config java 명령을 실행하면
Selection Path Priority Status
------------------------------------------------------------
0 /usr/lib/jvm/java-6-openjdk-amd64/jre/bin/java 1061 auto mode
1 /usr/lib/jvm/java-6-openjdk-amd64/jre/bin/java 1061 manual mode
2 /usr/local/java/jdk1.6.0_45/ 1 manual mode
* 3 /usr/local/java/jdk1.6.0_45/bin/java 1 manual mode
4 /usr/local/java/jre1.7.0_40/bin/java 1 manual mode
내가 무엇을 놓치고 있는지 말해 줄 수 있는 사람이 있나요?
답변1
버전 51.0 클래스 파일을 실행하려면 Java 7이 필요하므로 클래스를 다시 컴파일하거나 Java 7로 업그레이드해야 합니다.
Java에는 /etc/alternatives에 많은 링크가 있지만 update-java-alternatives
이를 더 쉽게 유지 관리할 수 있도록 해주는 java-common 패키지에 java-common이라는 도구가 있습니다. 이렇게 하면 한 버전의 javac와 다른 버전의 java를 사용하지 않아도 됩니다.