Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Error compiling using Eclipse/M2E #52

Closed
mhagnumdw opened this issue Dec 7, 2023 · 11 comments
Closed

Error compiling using Eclipse/M2E #52

mhagnumdw opened this issue Dec 7, 2023 · 11 comments
Assignees

Comments

@mhagnumdw
Copy link

mhagnumdw commented Dec 7, 2023

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

  • OS Fedora Linux 37 (Workstation Edition) x86_64
  • OpenJDK 64-Bit Server VM (build 17+35-2724, mixed mode, sharing)
  • Eclipse 2023-06 (4.28.0)
  • Jasper 6.20.6

Does anyone know the solution?

@Postremus Postremus self-assigned this Dec 7, 2023
@Postremus
Copy link
Contributor

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
Copy link
Author

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

@Postremus
Copy link
Contributor

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
Copy link
Author

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

@mhagnumdw
Copy link
Author

mhagnumdw commented Dec 7, 2023

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

@mhagnumdw
Copy link
Author

~ 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
Copy link
Contributor

projectlombok/lombok#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 projectlombok/lombok#2351

I will see if I can workaround this somehow..

@Postremus
Copy link
Contributor

At least I can now reproduce this error :)

@Postremus
Copy link
Contributor

Opened PR at lomboks github. projectlombok/lombok#3568

@mhagnumdw
Copy link
Author

Following:

Opened PR at lomboks github. projectlombok/lombok#3568

Tks, @Postremus !!

@Postremus
Copy link
Contributor

Postremus commented Mar 20, 2024

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants