Erro na migração de Java 8 para Java 11

3 respostas
java
J

Olá pessoal,

Estou enfrentando um problema bem chato, Estou refatorando um microsserviço que foi escrito em Java 8, e nessa refatoração preciso usar o Java 11. Arrumei várias coisinhas no código, mas ainda estou tomando o seguinte erro:

compiler message file broken: key=compiler.misc.msg.bug arguments=11.0.7, {1}, {2}, {3}, {4}, {5}, {6}, {7}
java.lang.AssertionError: Incorrect number of arguments; expected 1, found 0

at jdk.compiler/com.sun.tools.javac.util.Assert.error(Assert.java:162)

at jdk.compiler/com.sun.tools.javac.comp.TransTypes.visitApply(TransTypes.java:636)

at jdk.compiler/com.sun.tools.javac.tree.JCTree$JCMethodInvocation.accept(JCTree.java:1634)

at jdk.compiler/com.sun.tools.javac.tree.TreeTranslator.translate(TreeTranslator.java:58)

at jdk.compiler/com.sun.tools.javac.comp.TransTypes.translate(TransTypes.java:454)

at jdk.compiler/com.sun.tools.javac.comp.TransTypes.visitLambda(TransTypes.java:540)

at jdk.compiler/com.sun.tools.javac.tree.JCTree$JCLambda.accept(JCTree.java:1807)

at jdk.compiler/com.sun.tools.javac.tree.TreeTranslator.translate(TreeTranslator.java:58)

at jdk.compiler/com.sun.tools.javac.comp.TransTypes.translate(TransTypes.java:454)

at jdk.compiler/com.sun.tools.javac.comp.TransTypes.translateArgs(TransTypes.java:212)

at jdk.compiler/com.sun.tools.javac.comp.TransTypes.visitApply(TransTypes.java:639)

at jdk.compiler/com.sun.tools.javac.tree.JCTree$JCMethodInvocation.accept(JCTree.java:1634)

at jdk.compiler/com.sun.tools.javac.tree.TreeTranslator.translate(TreeTranslator.java:58)

at jdk.compiler/com.sun.tools.javac.comp.TransTypes.translate(TransTypes.java:454)

at jdk.compiler/com.sun.tools.javac.comp.TransTypes.visitSelect(TransTypes.java:804)

at jdk.compiler/com.sun.tools.javac.tree.JCTree$JCFieldAccess.accept(JCTree.java:2110)

at jdk.compiler/com.sun.tools.javac.tree.TreeTranslator.translate(TreeTranslator.java:58)

at jdk.compiler/com.sun.tools.javac.comp.TransTypes.translate(TransTypes.java:454)

at jdk.compiler/com.sun.tools.javac.comp.TransTypes.visitApply(TransTypes.java:622)

at jdk.compiler/com.sun.tools.javac.tree.JCTree$JCMethodInvocation.accept(JCTree.java:1634)

at jdk.compiler/com.sun.tools.javac.tree.TreeTranslator.translate(TreeTranslator.java:58)

at jdk.compiler/com.sun.tools.javac.comp.TransTypes.translate(TransTypes.java:454)

at jdk.compiler/com.sun.tools.javac.comp.TransTypes.visitReturn(TransTypes.java:605)

at jdk.compiler/com.sun.tools.javac.tree.JCTree$JCReturn.accept(JCTree.java:1546)

at jdk.compiler/com.sun.tools.javac.tree.TreeTranslator.translate(TreeTranslator.java:58)

at jdk.compiler/com.sun.tools.javac.tree.TreeTranslator.translate(TreeTranslator.java:70)

at jdk.compiler/com.sun.tools.javac.tree.TreeTranslator.visitBlock(TreeTranslator.java:167)

at jdk.compiler/com.sun.tools.javac.tree.JCTree$JCBlock.accept(JCTree.java:1020)

at jdk.compiler/com.sun.tools.javac.tree.TreeTranslator.translate(TreeTranslator.java:58)

at jdk.compiler/com.sun.tools.javac.comp.TransTypes.translate(TransTypes.java:454)

at jdk.compiler/com.sun.tools.javac.comp.TransTypes.visitMethodDef(TransTypes.java:489)

at jdk.compiler/com.sun.tools.javac.tree.JCTree$JCMethodDecl.accept(JCTree.java:866)

at jdk.compiler/com.sun.tools.javac.tree.TreeTranslator.translate(TreeTranslator.java:58)

at jdk.compiler/com.sun.tools.javac.tree.TreeTranslator.translate(TreeTranslator.java:70)

at jdk.compiler/com.sun.tools.javac.tree.TreeTranslator.visitClassDef(TreeTranslator.java:139)

at jdk.compiler/com.sun.tools.javac.comp.TransTypes.translateClass(TransTypes.java:918)

at jdk.compiler/com.sun.tools.javac.comp.TransTypes.visitClassDef(TransTypes.java:475)

at jdk.compiler/com.sun.tools.javac.tree.JCTree$JCClassDecl.accept(JCTree.java:774)

at jdk.compiler/com.sun.tools.javac.tree.TreeTranslator.translate(TreeTranslator.java:58)

at jdk.compiler/com.sun.tools.javac.comp.TransTypes.translate(TransTypes.java:454)

at jdk.compiler/com.sun.tools.javac.comp.TransTypes.visitNewClass(TransTypes.java:669)

at jdk.compiler/com.sun.tools.javac.tree.JCTree$JCNewClass.accept(JCTree.java:1689)

at jdk.compiler/com.sun.tools.javac.tree.TreeTranslator.translate(TreeTranslator.java:58)

at jdk.compiler/com.sun.tools.javac.comp.TransTypes.translate(TransTypes.java:454)

at jdk.compiler/com.sun.tools.javac.comp.TransTypes.visitVarDef(TransTypes.java:499)

at jdk.compiler/com.sun.tools.javac.tree.JCTree$JCVariableDecl.accept(JCTree.java:956)

at jdk.compiler/com.sun.tools.javac.tree.TreeTranslator.translate(TreeTranslator.java:58)

at jdk.compiler/com.sun.tools.javac.tree.TreeTranslator.translate(TreeTranslator.java:70)

at jdk.compiler/com.sun.tools.javac.tree.TreeTranslator.visitClassDef(TreeTranslator.java:139)

at jdk.compiler/com.sun.tools.javac.comp.TransTypes.translateClass(TransTypes.java:918)

at jdk.compiler/com.sun.tools.javac.comp.TransTypes.visitClassDef(TransTypes.java:475)

at jdk.compiler/com.sun.tools.javac.tree.JCTree$JCClassDecl.accept(JCTree.java:774)

at jdk.compiler/com.sun.tools.javac.tree.TreeTranslator.translate(TreeTranslator.java:58)

at jdk.compiler/com.sun.tools.javac.comp.TransTypes.translate(TransTypes.java:454)

at jdk.compiler/com.sun.tools.javac.comp.TransTypes.translateTopLevelClass(TransTypes.java:942)

at jdk.compiler/com.sun.tools.javac.main.JavaCompiler.desugar(JavaCompiler.java:1553)

at jdk.compiler/com.sun.tools.javac.main.JavaCompiler.desugar(JavaCompiler.java:1432)

at jdk.compiler/com.sun.tools.javac.main.JavaCompiler.compile(JavaCompiler.java:973)

at jdk.compiler/com.sun.tools.javac.api.JavacTaskImpl.lambda$doCall$0(JavacTaskImpl.java:104)

at jdk.compiler/com.sun.tools.javac.api.JavacTaskImpl.handleExceptions(JavacTaskImpl.java:147)

at jdk.compiler/com.sun.tools.javac.api.JavacTaskImpl.doCall(JavacTaskImpl.java:100)

at jdk.compiler/com.sun.tools.javac.api.JavacTaskImpl.call(JavacTaskImpl.java:94)

at org.codehaus.plexus.compiler.javac.JavaxToolsCompiler.compileInProcess(JavaxToolsCompiler.java:126)

at org.codehaus.plexus.compiler.javac.JavacCompiler.performCompile(JavacCompiler.java:174)

at org.apache.maven.plugin.compiler.AbstractCompilerMojo.execute(AbstractCompilerMojo.java:1129)

at org.apache.maven.plugin.compiler.CompilerMojo.execute(CompilerMojo.java:188)

at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:137)

at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:210)

at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:156)

at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:148)

at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:117)

at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:81)

at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.java:56)

at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:128)

at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:305)

at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:192)

at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:105)

at org.apache.maven.cli.MavenCli.execute(MavenCli.java:956)

at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:288)

at org.apache.maven.cli.MavenCli.main(MavenCli.java:192)

at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)

at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

at java.base/java.lang.reflect.Method.invoke(Method.java:566)

at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:282)

at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:225)

at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:406)

at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:347)

at org.codehaus.classworlds.Launcher.main(Launcher.java:47)

E esse também:

Error:java: java.lang.AssertionError: Incorrect number of arguments; expected 1, found 0
Error:java: 	at jdk.compiler/com.sun.tools.javac.util.Assert.error(Assert.java:162)

Estou usando o Intellij, e já coloquei no Edit configurations para rodar com a JDK 11, em Project structure também, mas o erro persiste. Alguém aqui já passou por isso?

3 Respostas

J

Deixa no Java 8 e relaxa.

J

Assim fica dificil ajudar a solucionar o problema.
O ideal seria poder reproduzi-lo pra dizer ao certo, mas voce esta ciente que do Java 9 em diante tudo funciona por modularizacao ?

Mas para nao perder o que ja tem feito antes do Java 9 e’ possivel chamar como modulo automatico e manter toda a portabilidade.

Em relacao a migrar para java 11 ou mesmo java 14 compensa e muito.

Nao somente seu programa ficara menor na memoria mas tambem a sua JVM; alem e’ claro dos adoraveis novos recursos.

Java 8 ta ai e tem uma base de instalacao gigante mas tecnicamente falando ja ta superado.

W

Não sei como resolver no Intellij, mas o Eclipse suporta multipla configuração de JDK.
Para resolver esse problema no Eclipse, clica com o botão direito em cima do projeto e vá em Properties -> Java Build Path -> Edit -> Execution Environment -> daí você escolhe com qual versão trabalhar.

Segue abaixo um print da imagem no eclipse, espero que ajude de alguma forma:

Criado 17 de junho de 2020
Ultima resposta 17 de jun. de 2020
Respostas 3
Participantes 4