Partilhar via


Transição do Java 7 para o Java 8

Este artigo fornece orientações de alto nível sobre como migrar a sua aplicação de Java 7 para Java 8. A utilização das funcionalidades do Java 8 não é abordada.

Não existe uma solução única para fazer a transição do código do Java 7 para o Java 8. Passar do Java 7 para o Java 8 normalmente dá pouco trabalho. Os potenciais problemas incluem algumas APIs alteradas, aperto da inferência de tipos no javac, alterações nos carregadores de classes e alterações ao permgen (parte da recolha de lixo).

Em geral, a melhor abordagem é tentar correr em Java 8 sem recompilar primeiro. Esta abordagem fará com que a sua candidatura funcione o mais rapidamente possível. Para uma biblioteca, o teu objetivo será publicar um artefacto compilado e testado com JDK 8.

Java 7 Fim de Suporte (EOL)

O apoio da comunidade terminará quando o Java 7 atingir o Fim de Vida a 29 de julho de 2022. Qualquer aplicação a correr em Java 7 continuará a correr, mas o próprio Java 7 não receberá atualizações nem patches de segurança. Para minimizar riscos e potenciais vulnerabilidades de segurança, atualize as suas aplicações para Java 8 ou 11, dependendo das exigências da sua carga de trabalho.

O guia canónico a seguir é o Guia de Migração Oracle JDK. O guia de migração cobre todas as incompatibilidades na especificação Java e as incompatibilidades na implementação do JDK. A maioria destas incompatibilidades são casos extremos, e deve investigar quando vir um aviso ou experienciar um erro.

Em execução no Java 8

A maioria das aplicações deve correr em Java 8 sem modificações. A primeira coisa a tentar é correr em Java 8 sem recompilar o código. O objetivo de simplesmente correr é ver que avisos e erros resultam da execução. Esta abordagem obtém um
aplicação para correr em Java 8 mais rapidamente, focando-se no trabalho mínimo que precisa de ser feito.

Pode resolver a maioria dos problemas que possa encontrar sem ter de recompilar código. Se tiveres de corrigir um problema no código, então faz a correção, mas continua a compilar com o JDK 7. Se possível, trabalhe para que a aplicação corra com java a versão 8 antes de compilar com o JDK 8.

Compilação com Java 8

Compilar com JDK 8 pode exigir atualizações para construir scripts, ferramentas, frameworks de teste e bibliotecas incluídas. Use a -Xlint:unchecked opção para javac obter detalhes sobre o uso da API interna do JDK e outros avisos.

Migração do Java 7 no Azure App Service

Para migrar os seus Serviços de Aplicações de Java 7 para Java 8 ou 11, inicie sessão no portal Azure, navegue até às aplicações web que pretende atualizar e depois vá para as Definições>Configuração>Definições da Pilha. Vais ver menus para as versões principais e secundárias em Java, e para a versão Tomcat se estiveres a usar Tomcat. Selecione Java 8 ou 11. Lembre-se, pode fazer esta alteração de configuração num slot de implementação para testar a alteração em segurança, e depois trocar o novo ambiente para produção. (O Java 7 pode estar oculto para evitar que os clientes assumam dependências de antigos runtimes.) Para mais informações, consulte Configurar ambientes de staging no Azure App Service.

Use o seletor para alterar a sua versão em Java

Podes usar as JAVA_TOOLS definições da app se precisares de especificar novas opções de runtime, e elas serão aplicadas quando a tua aplicação começar. Para mais informações, consulte Configurar uma aplicação Java para Azure App Service. Para mais informações sobre políticas de suporte para runtimes no App Service, consulte a secção Linguagens e frameworks integrados na visão geral do App Service.

Próximos passos

Depois de conseguir que a sua aplicação funcione em Java 8, recomendamos que siga o percurso de modernização do Java para Java 11 usando os seguintes guias.