
Tenho o java 1.7 instalado e estou tentando instalar o java 1.6.
Atualizei o java_home e a variável path apontando para o novo local e também executei esses comandos.
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
Minha versão java me mostra java 1.6, mas quando executo java class_name, recebo o seguinte erro
Exception in thread "main" java.lang.UnsupportedClassVersionError: three : Unsupported major.minor version 51.0
Quando executo o comando 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
Alguém pode me dizer o que estou perdendo?
Responder1
Você precisa do Java 7 para executar arquivos de classe com a versão 51.0, portanto, será necessário recompilar a classe ou atualizar para o Java 7.
Java tem muitos links em /etc/alternatives, mas existe uma ferramenta chamada update-java-alternatives
no pacote java-common que facilita a manutenção de todos eles. Dessa forma você não acaba usando uma versão do javac e outra do java.