pro-crafting / Jasper-report-maven-plugin

A fast jasper report maven plugin
Apache License 2.0
24 stars 2 forks source link

Error compiling using Eclipse/M2E #52

Closed mhagnumdw closed 5 months ago

mhagnumdw commented 9 months ago

Eclipse

image

Eclipse view Problem

Description Resource    Path    Location    Type
Failed to execute mojo com.pro-crafting.tools:jasperreports-plugin:3.5.10:jasper {execution: default} (com.pro-crafting.tools:jasperreports-plugin:3.5.10:jasper:default:process-sources)

org.eclipse.core.runtime.CoreException: Failed to execute mojo com.pro-crafting.tools:jasperreports-plugin:3.5.10:jasper {execution: default}
    at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.executeMojo(MavenExecutionContext.java:340)
    at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.lambda$0(MavenExecutionContext.java:291)
    at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.executeBare(MavenExecutionContext.java:394)
    at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.execute(MavenExecutionContext.java:275)
    at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.execute(MavenExecutionContext.java:290)
    at org.eclipse.m2e.core.project.configurator.MojoExecutionBuildParticipant.build(MojoExecutionBuildParticipant.java:57)
    at org.eclipse.m2e.core.internal.builder.MavenBuilderImpl.lambda$1(MavenBuilderImpl.java:139)
    at java.base/java.util.LinkedHashMap.forEach(LinkedHashMap.java:729)
    at org.eclipse.m2e.core.internal.builder.MavenBuilderImpl.build(MavenBuilderImpl.java:122)
    at org.eclipse.m2e.core.internal.builder.MavenBuilder$1.method(MavenBuilder.java:164)
    at org.eclipse.m2e.core.internal.builder.MavenBuilder$1.method(MavenBuilder.java:1)
    at org.eclipse.m2e.core.internal.builder.MavenBuilder$BuildMethod.lambda$1(MavenBuilder.java:109)
    at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.executeBare(MavenExecutionContext.java:394)
    at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.execute(MavenExecutionContext.java:228)
    at org.eclipse.m2e.core.internal.builder.MavenBuilder$BuildMethod.lambda$0(MavenBuilder.java:100)
    at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.executeBare(MavenExecutionContext.java:394)
    at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.execute(MavenExecutionContext.java:275)
    at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.execute(MavenExecutionContext.java:214)
    at org.eclipse.m2e.core.internal.builder.MavenBuilder$BuildMethod.execute(MavenBuilder.java:83)
    at org.eclipse.m2e.core.internal.builder.MavenBuilder.build(MavenBuilder.java:192)
    at org.eclipse.core.internal.events.BuildManager$2.run(BuildManager.java:1020)
    at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:45)
    at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:247)
    at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:303)
    at org.eclipse.core.internal.events.BuildManager$1.run(BuildManager.java:392)
    at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:45)
    at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:395)
    at org.eclipse.core.internal.events.BuildManager.basicBuildLoop(BuildManager.java:506)
    at org.eclipse.core.internal.events.BuildManager.basicBuildLoop(BuildManager.java:454)
    at org.eclipse.core.internal.events.BuildManager.build(BuildManager.java:536)
    at org.eclipse.core.internal.events.AutoBuildJob.doBuild(AutoBuildJob.java:196)
    at org.eclipse.core.internal.events.AutoBuildJob.run(AutoBuildJob.java:289)
    at org.eclipse.core.internal.jobs.Worker.run(Worker.java:63)
Caused by: org.apache.maven.plugin.MojoExecutionException: Error while compiling Jasper reports
    at com.pro_crafting.tools.jasperreport.JasperReporter.executeTasks(JasperReporter.java:429)
    at com.pro_crafting.tools.jasperreport.JasperReporter.execute(JasperReporter.java:223)
    at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:126)
    at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.executeMojo(MavenExecutionContext.java:338)
    ... 32 more
Caused by: java.util.concurrent.ExecutionException: java.lang.NoClassDefFoundError: org/eclipse/jdt/internal/compiler/ast/CompilationUnitDeclaration
    at java.base/java.util.concurrent.FutureTask.report(FutureTask.java:122)
    at java.base/java.util.concurrent.FutureTask.get(FutureTask.java:191)
    at com.pro_crafting.tools.jasperreport.JasperReporter.checkForExceptions(JasperReporter.java:436)
    at com.pro_crafting.tools.jasperreport.JasperReporter.executeTasks(JasperReporter.java:418)
    ... 35 more
Caused by: java.lang.NoClassDefFoundError: org/eclipse/jdt/internal/compiler/ast/CompilationUnitDeclaration
    at java.base/java.lang.Class.getDeclaredMethods0(Native Method)
    at java.base/java.lang.Class.privateGetDeclaredMethods(Class.java:3502)
    at java.base/java.lang.Class.getDeclaredMethods(Class.java:2601)
    at lombok.launch.PatchFixesHider$Util.findMethodAnyArgs(PatchFixesHider.java:124)
    at lombok.launch.PatchFixesHider$Transform.init(PatchFixesHider.java:203)
    at lombok.launch.PatchFixesHider$Transform.transform_swapped(PatchFixesHider.java:213)
    at org.eclipse.jdt.internal.compiler.parser.Parser.endParse(Parser.java:10882)
    at org.eclipse.jdt.internal.compiler.parser.Parser.parse(Parser.java:12065)
    at org.eclipse.jdt.internal.compiler.parser.Parser.parse(Parser.java:12289)
    at org.eclipse.jdt.internal.compiler.parser.Parser.parse(Parser.java:12246)
    at org.eclipse.jdt.internal.compiler.parser.Parser.dietParse(Parser.java:10654)
    at org.eclipse.jdt.internal.compiler.Compiler.internalBeginToCompile(Compiler.java:849)
    at org.eclipse.jdt.internal.compiler.Compiler.beginToCompile(Compiler.java:394)
    at org.eclipse.jdt.internal.compiler.Compiler.compile(Compiler.java:444)
    at org.eclipse.jdt.internal.compiler.Compiler.compile(Compiler.java:426)
    at net.sf.jasperreports.engine.design.JRJdtCompiler.compileUnits(JRJdtCompiler.java:157)
    at net.sf.jasperreports.engine.design.JRAbstractCompiler.compileReport(JRAbstractCompiler.java:231)
    at net.sf.jasperreports.engine.JasperCompileManager.compile(JasperCompileManager.java:358)
    at net.sf.jasperreports.engine.JasperCompileManager.compileToStream(JasperCompileManager.java:327)
    at net.sf.jasperreports.engine.JasperCompileManager.compileToStream(JasperCompileManager.java:310)
    at net.sf.jasperreports.engine.JasperCompileManager.compileReportToStream(JasperCompileManager.java:588)
    at com.pro_crafting.tools.jasperreport.CompileTask.call(CompileTask.java:58)
    at com.pro_crafting.tools.jasperreport.CompileTask.call(CompileTask.java:28)
    at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:317)
    at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144)
    at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642)
    at java.base/java.lang.Thread.run(Thread.java:1623)
Caused by: java.lang.ClassNotFoundException: org.eclipse.jdt.internal.compiler.ast.CompilationUnitDeclaration
    at java.base/java.lang.ClassLoader.findClass(ClassLoader.java:719)
    at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:588)
    at lombok.launch.ShadowClassLoader.loadClass(ShadowClassLoader.java:555)
    at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521)
    ... 27 more

Versions

Does anyone know the solution?

Postremus commented 9 months ago

Thank you for your bug report. Just to make sure, your reports are compiling when you use maven from a terminal? E.g. mvn clean install

mhagnumdw commented 9 months ago

From the terminal with the maven command line everything works ok.

Postremus commented 9 months ago

Not able to reproduce this.

Can you please try out a different compiler implementation for jasper?

Instead of

<compiler>net.sf.jasperreports.engine.design.JRJdtCompiler</compiler>

use

<compiler>net.sf.jasperreports.engine.design.JRJdk13Compiler</compiler>
mhagnumdw commented 9 months ago

Same problem. I tried other compilers and they had the same problem.

mhagnumdw commented 9 months ago

Now it worked! I updated Lombok from version 1.18.24 to 1.18.30 in my Eclipse.

mhagnumdw commented 9 months ago

~ Now it worked! I updated Lombok from version 1.18.24 to 1.18.30 in my Eclipse. ~

It worked a few times, but the problem returned and with another error stack after the lombok update:

(Again I tested with several jasper compilers)

Description Resource    Path    Location    Type
Failed to execute mojo com.pro-crafting.tools:jasperreports-plugin:3.5.10:jasper {execution: default} (com.pro-crafting.tools:jasperreports-plugin:3.5.10:jasper:default:process-sources)

org.eclipse.core.runtime.CoreException: Failed to execute mojo com.pro-crafting.tools:jasperreports-plugin:3.5.10:jasper {execution: default}
    at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.executeMojo(MavenExecutionContext.java:340)
    at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.lambda$0(MavenExecutionContext.java:291)
    at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.executeBare(MavenExecutionContext.java:394)
    at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.execute(MavenExecutionContext.java:275)
    at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.execute(MavenExecutionContext.java:290)
    at org.eclipse.m2e.core.project.configurator.MojoExecutionBuildParticipant.build(MojoExecutionBuildParticipant.java:57)
    at org.eclipse.m2e.core.internal.builder.MavenBuilderImpl.lambda$1(MavenBuilderImpl.java:139)
    at java.base/java.util.LinkedHashMap.forEach(LinkedHashMap.java:729)
    at org.eclipse.m2e.core.internal.builder.MavenBuilderImpl.build(MavenBuilderImpl.java:122)
    at org.eclipse.m2e.core.internal.builder.MavenBuilder$1.method(MavenBuilder.java:164)
    at org.eclipse.m2e.core.internal.builder.MavenBuilder$1.method(MavenBuilder.java:1)
    at org.eclipse.m2e.core.internal.builder.MavenBuilder$BuildMethod.lambda$1(MavenBuilder.java:109)
    at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.executeBare(MavenExecutionContext.java:394)
    at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.execute(MavenExecutionContext.java:228)
    at org.eclipse.m2e.core.internal.builder.MavenBuilder$BuildMethod.lambda$0(MavenBuilder.java:100)
    at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.executeBare(MavenExecutionContext.java:394)
    at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.execute(MavenExecutionContext.java:275)
    at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.execute(MavenExecutionContext.java:214)
    at org.eclipse.m2e.core.internal.builder.MavenBuilder$BuildMethod.execute(MavenBuilder.java:83)
    at org.eclipse.m2e.core.internal.builder.MavenBuilder.build(MavenBuilder.java:192)
    at org.eclipse.core.internal.events.BuildManager$2.run(BuildManager.java:1020)
    at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:45)
    at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:247)
    at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:303)
    at org.eclipse.core.internal.events.BuildManager$1.run(BuildManager.java:392)
    at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:45)
    at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:395)
    at org.eclipse.core.internal.events.BuildManager.basicBuildLoop(BuildManager.java:506)
    at org.eclipse.core.internal.events.BuildManager.basicBuildLoop(BuildManager.java:454)
    at org.eclipse.core.internal.events.BuildManager.build(BuildManager.java:536)
    at org.eclipse.core.internal.events.AutoBuildJob.doBuild(AutoBuildJob.java:196)
    at org.eclipse.core.internal.events.AutoBuildJob.run(AutoBuildJob.java:289)
    at org.eclipse.core.internal.jobs.Worker.run(Worker.java:63)
Caused by: org.apache.maven.plugin.MojoExecutionException: Some Jasper reports could not be compiled. See log above for details.
    at com.pro_crafting.tools.jasperreport.JasperReporter.executeTasks(JasperReporter.java:426)
    at com.pro_crafting.tools.jasperreport.JasperReporter.execute(JasperReporter.java:223)
    at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:126)
    at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.executeMojo(MavenExecutionContext.java:338)
    ... 32 more
Caused by: java.util.concurrent.ExecutionException: net.sf.jasperreports.engine.JRException: Could not compile Tarefa.jrxml
    at java.base/java.util.concurrent.FutureTask.report(FutureTask.java:122)
    at java.base/java.util.concurrent.FutureTask.get(FutureTask.java:191)
    at com.pro_crafting.tools.jasperreport.JasperReporter.checkForExceptions(JasperReporter.java:436)
    at com.pro_crafting.tools.jasperreport.JasperReporter.executeTasks(JasperReporter.java:418)
    ... 35 more
Caused by: net.sf.jasperreports.engine.JRException: Could not compile Tarefa.jrxml
    at com.pro_crafting.tools.jasperreport.CompileTask.cleanUpAndThrowError(CompileTask.java:73)
    at com.pro_crafting.tools.jasperreport.CompileTask.call(CompileTask.java:63)
    at com.pro_crafting.tools.jasperreport.CompileTask.call(CompileTask.java:28)
    at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:317)
    at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144)
    at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642)
    at java.base/java.lang.Thread.run(Thread.java:1623)
Caused by: net.sf.jasperreports.engine.JRException: Error compiling report design.
    at net.sf.jasperreports.engine.design.JRAbstractCompiler.compileReport(JRAbstractCompiler.java:276)
    at net.sf.jasperreports.engine.JasperCompileManager.compile(JasperCompileManager.java:358)
    at net.sf.jasperreports.engine.JasperCompileManager.compileToStream(JasperCompileManager.java:327)
    at net.sf.jasperreports.engine.JasperCompileManager.compileToStream(JasperCompileManager.java:310)
    at net.sf.jasperreports.engine.JasperCompileManager.compileReportToStream(JasperCompileManager.java:588)
    at com.pro_crafting.tools.jasperreport.CompileTask.call(CompileTask.java:58)
    ... 5 more
Caused by: java.lang.IllegalArgumentException: argument type mismatch
    at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:108)
    at java.base/java.lang.reflect.Method.invoke(Method.java:578)
    at lombok.launch.PatchFixesHider$Util.invokeMethod(PatchFixesHider.java:133)
    at lombok.launch.PatchFixesHider$Transform.transform_swapped(PatchFixesHider.java:256)
    at org.eclipse.jdt.internal.compiler.parser.Parser.endParse(Parser.java:10882)
    at org.eclipse.jdt.internal.compiler.parser.Parser.parse(Parser.java:12065)
    at org.eclipse.jdt.internal.compiler.parser.Parser.parse(Parser.java:12289)
    at org.eclipse.jdt.internal.compiler.parser.Parser.parse(Parser.java:12246)
    at org.eclipse.jdt.internal.compiler.parser.Parser.dietParse(Parser.java:10654)
    at org.eclipse.jdt.internal.compiler.Compiler.internalBeginToCompile(Compiler.java:849)
    at org.eclipse.jdt.internal.compiler.Compiler.beginToCompile(Compiler.java:394)
    at org.eclipse.jdt.internal.compiler.Compiler.compile(Compiler.java:444)
    at org.eclipse.jdt.internal.compiler.Compiler.compile(Compiler.java:426)
    at net.sf.jasperreports.engine.design.JRJdtCompiler.compileUnits(JRJdtCompiler.java:157)
    at net.sf.jasperreports.engine.design.JRAbstractCompiler.compileReport(JRAbstractCompiler.java:231)
    ... 10 more
Postremus commented 9 months ago

https://github.com/projectlombok/lombok/pull/3079

Lombok is the culprit here. In the above linked PR, they initially fixed support for the alexnederlof version of this plugin. However, my version has the same problem.

See discussion in https://github.com/projectlombok/lombok/issues/2351

I will see if I can workaround this somehow..

Postremus commented 9 months ago

At least I can now reproduce this error :)

Postremus commented 9 months ago

Opened PR at lomboks github. https://github.com/projectlombok/lombok/pull/3568

mhagnumdw commented 9 months ago

Following:

Opened PR at lomboks github. projectlombok/lombok#3568

Tks, @Postremus !!

Postremus commented 5 months ago

Lombok v1.18.32 containing the fix was released, closing this issue.