dagger-2 vs aspectj (eclipse) compatibility issue

167 views
Skip to first unread message

Jacopo Lanzoni

unread,
May 31, 2016, 12:04:19 PM5/31/16
to Dagger Discuss
Hi everyone,

I would like to repost here my question: http://stackoverflow.com/questions/36934724/dagger-2-vs-aspectj-eclipse-compatibility-issue.

I am trying to use dagger-2 (Version 2.4) for my Java projects, using Eclipse Java EE IDE for Web Developers Mars.2 Release (4.5.2) and Eclipse AspectJ Development Tools Version: 1.8.6.20150608154244.

When I build my project, I get the following error message (with PROJECT_PATH being my project path):


[ERROR] Internal compiler error: java.lang.NoClassDefFoundError: org/eclipse/osgi/util/NLS at java.lang.ClassLoader.defineClass1(Native Method)
PROJECT_PATH\src\main\java\com\search\ServiceException.java:0
(no source information available)

[ERROR] ABORT
Apr 29, 2016 10:17:21 AM org.aspectj.weaver.tools.Jdk14Trace info
INFO: Dumping to PROJECT_PATH\.\ajcore.20160429.101721.961.txt
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 01:14 min
[INFO] Finished at: 2016-04-29T10:17:22+01:00
[INFO] Final Memory: 151M/1492M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.codehaus.mojo:aspectj-maven-plugin:1.7:compile (default) on project search: AJC compiler errors:
[ERROR] error at (no source information available)
[ERROR] PROJECT_PATH\src\main\java\com\search\ServiceException.java:0::0 Internal compiler error: java.lang.NoClassDefFoundError: org/eclipse/osgi/util/NLS at java.lang.ClassLoader.defineClass1(Native Method)
[ERROR] abort ABORT -- (NoClassDefFoundError) org/eclipse/osgi/util/NLS
[ERROR] org/eclipse/osgi/util/NLS
[ERROR] java.lang.NoClassDefFoundError: org/eclipse/osgi/util/NLS
[ERROR] at java.lang.ClassLoader.defineClass1(Native Method)
[ERROR] at java.lang.ClassLoader.defineClass(ClassLoader.java:760)
[ERROR] at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
[ERROR] at java.net.URLClassLoader.defineClass(URLClassLoader.java:467)
[ERROR] at java.net.URLClassLoader.access$100(URLClassLoader.java:73)
[ERROR] at java.net.URLClassLoader$1.run(URLClassLoader.java:368)
[ERROR] at java.net.URLClassLoader$1.run(URLClassLoader.java:362)
[ERROR] at java.security.AccessController.doPrivileged(Native Method)
[ERROR] at java.net.URLClassLoader.findClass(URLClassLoader.java:361)
[ERROR] at org.codehaus.plexus.classworlds.realm.ClassRealm.loadClassFromSelf(ClassRealm.java:401)
[ERROR] at org.codehaus.plexus.classworlds.strategy.SelfFirstStrategy.loadClass(SelfFirstStrategy.java:42)
[ERROR] at org.codehaus.plexus.classworlds.realm.ClassRealm.unsynchronizedLoadClass(ClassRealm.java:271)
[ERROR] at org.codehaus.plexus.classworlds.realm.ClassRealm.loadClass(ClassRealm.java:247)
[ERROR] at org.codehaus.plexus.classworlds.realm.ClassRealm.loadClass(ClassRealm.java:239)
[ERROR] at org.eclipse.core.runtime.Platform.<clinit>(Platform.java:433)
[ERROR] at org.eclipse.jdt.internal.core.ExternalFoldersManager.<init>(ExternalFoldersManager.java:61)
[ERROR] at org.eclipse.jdt.internal.core.ExternalFoldersManager.getExternalFoldersManager(ExternalFoldersManager.java:68)
[ERROR] at org.eclipse.jdt.internal.core.JavaModelManager.<init>(JavaModelManager.java:489)
[ERROR] at org.eclipse.jdt.internal.core.JavaModelManager.<clinit>(JavaModelManager.java:1084)
[ERROR] at org.eclipse.jdt.core.JavaCore.getOption(JavaCore.java:3834)
[ERROR] at org.eclipse.jdt.core.ToolFactory.createScanner(ToolFactory.java:456)
[ERROR] at com.google.googlejavaformat.java.JavaInput.buildToks(JavaInput.java:318)
[ERROR] at com.google.googlejavaformat.java.JavaInput.buildToks(JavaInput.java:296)
[ERROR] at com.google.googlejavaformat.java.JavaInput.<init>(JavaInput.java:243)
[ERROR] at com.google.googlejavaformat.java.Formatter.formatSource(Formatter.java:154)
[ERROR] at com.google.googlejavaformat.java.Formatter.formatSource(Formatter.java:144)
[ERROR] at dagger.internal.codegen.SourceFileGenerator.generate(SourceFileGenerator.java:77)
[ERROR] at dagger.internal.codegen.ModuleProcessingStep.process(ModuleProcessingStep.java:132)
[ERROR] at dagger.shaded.auto.common.BasicAnnotationProcessor.process(BasicAnnotationProcessor.java:318)
[ERROR] at dagger.shaded.auto.common.BasicAnnotationProcessor.process(BasicAnnotationProcessor.java:171)
[ERROR] at org.aspectj.org.eclipse.jdt.internal.compiler.apt.dispatch.RoundDispatcher.handleProcessor(RoundDispatcher.java:140)
[ERROR] at org.aspectj.org.eclipse.jdt.internal.compiler.apt.dispatch.RoundDispatcher.round(RoundDispatcher.java:122)
[ERROR] at org.aspectj.org.eclipse.jdt.internal.compiler.apt.dispatch.BaseAnnotationProcessorManager.processAnnotations(BaseAnnotationProcessorManager.java:160)
[ERROR] at org.aspectj.org.eclipse.jdt.internal.compiler.Compiler.processAnnotations(Compiler.java:844)
[ERROR] at org.aspectj.org.eclipse.jdt.internal.compiler.Compiler.compile(Compiler.java:439)
[ERROR] at org.aspectj.org.eclipse.jdt.internal.compiler.Compiler.compile(Compiler.java:420)
[ERROR] at org.aspectj.ajdt.internal.core.builder.AjBuildManager.performCompilation(AjBuildManager.java:1036)
[ERROR] at org.aspectj.ajdt.internal.core.builder.AjBuildManager.performBuild(AjBuildManager.java:272)
[ERROR] at org.aspectj.ajdt.internal.core.builder.AjBuildManager.batchBuild(AjBuildManager.java:185)
[ERROR] at org.aspectj.ajdt.ajc.AjdtCommand.doCommand(AjdtCommand.java:112)
[ERROR] at org.aspectj.ajdt.ajc.AjdtCommand.runCommand(AjdtCommand.java:60)
[ERROR] at org.aspectj.tools.ajc.Main.run(Main.java:371)
[ERROR] at org.aspectj.tools.ajc.Main.runMain(Main.java:248)
[ERROR] at org.codehaus.mojo.aspectj.AbstractAjcCompiler.execute(AbstractAjcCompiler.java:524)
[ERROR] at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:134)
[ERROR] at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:208)
[ERROR] at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)
[ERROR] at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)
[ERROR] at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:116)
[ERROR] at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:80)
[ERROR] at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.java:51)
[ERROR] at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:128)
[ERROR] at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:307)
[ERROR] at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:193)
[ERROR] at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:106)
[ERROR] at org.apache.maven.cli.MavenCli.execute(MavenCli.java:862)
[ERROR] at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:286)
[ERROR] at org.apache.maven.cli.MavenCli.main(MavenCli.java:197)
[ERROR] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
[ERROR] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
[ERROR] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
[ERROR] at java.lang.reflect.Method.invoke(Method.java:497)
[ERROR] at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:289)
[ERROR] at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:229)
[ERROR] at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:415)
[ERROR] at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:356)
[ERROR] Caused by: java.lang.ClassNotFoundException: org.eclipse.osgi.util.NLS
[ERROR] at org.codehaus.plexus.classworlds.strategy.SelfFirstStrategy.loadClass(SelfFirstStrategy.java:50)
[ERROR] at org.codehaus.plexus.classworlds.realm.ClassRealm.unsynchronizedLoadClass(ClassRealm.java:271)
[ERROR] at org.codehaus.plexus.classworlds.realm.ClassRealm.loadClass(ClassRealm.java:247)
[ERROR] at org.codehaus.plexus.classworlds.realm.ClassRealm.loadClass(ClassRealm.java:239)
[ERROR] ... 66 more
[ERROR] -> [Help 1]
[ERROR] 
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR] 
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException


Yet, the code generated Dagger java files are correctly created and if the project is built again, no error is fired. But if the project is cleaned and built again, the same error appears.


Browsing on the web, I have seen different posts for similar issues, and one of the suggestion was to drop the aspectj plugin. In fact, if I remove any reference to aspectj from the Maven pom.xml of the project, it builds correctly with no error from the first time. Yet, I am in the situation of being unable to drop aspectj for my project.


Has anyone encountered the same obstacle? Any suggestion on how to make both dagger-2 and aspectj work together?

Reply all
Reply to author
Forward
0 new messages