BT

Disseminando conhecimento e inovação em desenvolvimento de software corporativo.

Contribuir

Tópicos

Escolha a região

Início Notícias Java 9 removerá suporte de compilação à versão 1.5 para trás

Java 9 removerá suporte de compilação à versão 1.5 para trás

Favoritos

A recente proposta de aperfeiçoamento do Java JEP 182 (Java Enhancement Proposal), direcionada para o Java 8 e Java 9, tem como objetivo modificar o modelo de suporte para as flags -target e -source usadas pelo compilador do Java. A proposta prevê que o compilador suportará no máximo três versões anteriores à do próprio compilador.

A opção -target permite que o compilador informe uma versão especifica do formato da classe Java. Tipicamente são especificadas as versões do Java, como 1.5 ou 1.6, o que especifica a versão do bytecode gerada:

  • 48: Java 4
  • 49: Java 5
  • 50: Java 6
  • 51: Java 7
  • 52: Java 8 (not yet released)
  • 53: Java 9 (not yet released)

A opção -source permite que o compilador reconheça, ou trate como erros, as novas estruturas da linguagem, como lambdas, try-with-resources, uso de strings no switch, entre outros. Algumas funcionalidades novas da linguagem, como lambdas, requerem o uso de funcionalidades especificas do bytecode, como o invokedynamic. Dessa forma, muitas vezes não é possível usar uma versão mais nova do que a versão alvo definida no target.

A mudança já começou; a JSR14 e a versão 1.4 não são mais aceitas no Java 8, e o uso da versão 1.5 gera avisos (warnings) do compilador. De forma análoga, o Java 9, quando liberado, irá remover o suporte à versão 1.5 e apresentar avisos para a versão 1.6.

De uma perspectiva prática, isso pode não parecer uma grande mudança; porém, até recentemente, as runtimes de OSGi ainda compilavam com o -source 1.5 e target jsr14 visando gerar códigos capazes de incorporar tipos genéricos, para compatibilidade com o J2ME. O uso da jsr14 será removido no final de 2013 do código do Eclipse. Por fim, os runtimes de OSGi, como Felix e Equinox, continuarão disponíveis enquanto houver necessidade comercial.

Avalie esse artigo

Relevância
Estilo/Redação

Conteúdo educacional

BT