Como você provavelmente sabe Java 10 foi lançado recentemente. Não tantos novos recursos. Pelo menos para Kotlin//Desenvolvedores… Mas existem várias melhorias para JVM//em si. E, eu acho, haverá mais nas próximas versões. Que teremos duas vezes por ano a partir de agora! Então, eu acho que é melhor levar algum tempo e sincronizar seus projetos para tornar mais fácil no futuro migrar com a mesma velocidade.
O projeto principal em que estou envolvido é SpringBoot 1.5.Serviço baseado em X feito com Kotlin//e ele usa Postgres//como um banco de dados. Neste momento ele usa Java 8 . Uma ótima chance de pular Java 9//e pule diretamente para 10! Sendo inspirado por esse pensamento, abri meu laptop.
Eu uso SDKman//para instalar Java, mas para//Java 10//ele oferece versão quebrada por algum motivo desconhecido. Então, desta vez eu tive que baixar o pacote do oficial site manualmente.
O maior problema é que algumas bibliotecas não fazem mais parte do//JDK . Isso é uma boa notícia – está ficando mais limpo. Mas, como resultado, você precisa definir dependências adicionais para o seu projeto. Você também pode incluí – los com parâmetros de linha de comando, pois eles ainda estão em//JDK mas acho que é melhor movê-los para dependências porque, pelo que entendi, eles serão removidos completamente em versões futuras. No meu caso, foi:
A segunda edição foi plugin Jacoco Gradle . Se você usá – lo para medir a cobertura do Código, há boas notícias -//Jacoco em si suporta//Java 10 . Mas para fazer Jacoco Gradle plugin trabalho eu tive que especificar a versão da ferramenta como esta no meu arquivo de compilação gradle:
E a última parte que foi quebrada – Mockito//. Esse problema pode ser resolvido adicionando uma nova versão da biblioteca Bytebuddy assim:
Após essas modificações, consegui construir e executar meu projeto e todos os testes foram verdes. Não tenha medo de migrar! O próximo passo seria preparar//docker build//file. Mas esse é um tópico para o próximo artigo.
Оригинал: “https://dev.to/gimlet2/java-10–migration-story-41k7”