Compatibilidade entre Java 1.6 e 1.4

2 respostas
J

Bom dia pessoal,

Tive uma inesperada situação aqui no trabalho. Peguei um código bem antigo, que foi escrito usando a 1.4 para arrumar um bug. Fiz as alterações no Eclipse, que estava setado com as configurações do projeto mais novo, que usa java 1.6. Coloquei um simples if e o comando “ret = true;” dentro do if. Depois disso, compilei o código usando um bat externo ao eclipse. O bat usou Java 1.6 pra compilar o código, apareceu um monte de warnings mas nenhum erro. O build foi gerado e disponibilizado. Agora de manha meu chefe pergunta pra mim se eu tinha gerado o build usando o Java 1.4. Falei que não, mas que não teria problema algum, o cliente poderia usar Java 1.4 pra rodar o código uma vez que não existe nenhum comando expecifico de versão superior.

Então meu chefe foi testar numa máquina virtual rodando 1.4. E adivinha? java.lang.UnsupportedClassVersionError!!!

Alguem saberia explicar isso?

Abraços.

2 Respostas

A

Às vezes o java é chato mesmo. Apesar de você não ter modificado nada de importante, as classes internas do java podem ter sido modificadas e agora funcionarem diferente.
A solução para o seu caso é usar um “-target 1.4” nas opções de compilação do seu script.

T

O formato dos arquivos .class da versão 6.0 é diferente da versão 1.4. Portanto é necessário recompilar todas as classes para funcionar adequadamente em Java 1.4.

Criado 28 de novembro de 2008
Ultima resposta 8 de dez. de 2008
Respostas 2
Participantes 3