Community
Participate
Working Groups
I've created my own annotation processor. I'm using maven as build tool. But I can't use it within other projects if the processor project are opened in the workspace. When I close the processor project and then call "maven/update project" then eclipse recognizes it and adds it to the factory path. But it fails if any of its dependencies source project are also opened in the workspace. Eclipse complains about a missing class: ``` org.eclipse.jdt.apt.pluggable.core Error Sun Mar 21 08:42:50 BRT 2021 Unable to create instance of annotation processor br.com.c8tech.hawkx.dev.apt.processors.HealthCheckServiceAnnotationProcessor java.lang.NoClassDefFoundError: br/com/c8tech/hawkx/api/annotations/HealthCheckTag at br.com.c8tech.hawkx.dev.apt.processors.HealthCheckServiceAnnotationProcessor.<init>(HealthCheckServiceAnnotationProcessor.java:21) at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:490) at java.base/java.lang.Class.newInstance(Class.java:584) at org.eclipse.jdt.apt.core.internal.ClassServiceFactory.newInstance(ClassServiceFactory.java:30) at org.eclipse.jdt.internal.apt.pluggable.core.dispatch.IdeAnnotationProcessorManager.discoverNextProcessor(IdeAnnotationProcessorManager.java:96) at org.eclipse.jdt.internal.compiler.apt.dispatch.RoundDispatcher.round(RoundDispatcher.java:119) at org.eclipse.jdt.internal.compiler.apt.dispatch.BaseAnnotationProcessorManager.processAnnotations(BaseAnnotationProcessorManager.java:171) at org.eclipse.jdt.internal.apt.pluggable.core.dispatch.IdeAnnotationProcessorManager.processAnnotations(IdeAnnotationProcessorManager.java:138) at org.eclipse.jdt.internal.compiler.Compiler.processAnnotations(Compiler.java:988) at org.eclipse.jdt.internal.compiler.Compiler.compile(Compiler.java:450) at org.eclipse.jdt.internal.compiler.Compiler.compile(Compiler.java:426) at org.eclipse.jdt.internal.core.builder.AbstractImageBuilder.compile(AbstractImageBuilder.java:377) at org.eclipse.jdt.internal.core.builder.IncrementalImageBuilder.compile(IncrementalImageBuilder.java:371) at org.eclipse.jdt.internal.core.builder.AbstractImageBuilder.compile(AbstractImageBuilder.java:309) at org.eclipse.jdt.internal.core.builder.IncrementalImageBuilder.incrementalBuildLoop(IncrementalImageBuilder.java:190) at org.eclipse.jdt.internal.core.builder.IncrementalImageBuilder.build(IncrementalImageBuilder.java:147) at org.eclipse.jdt.internal.core.builder.JavaBuilder.buildDeltas(JavaBuilder.java:289) at org.eclipse.jdt.internal.core.builder.JavaBuilder.build(JavaBuilder.java:212) at org.eclipse.core.internal.events.BuildManager$2.run(BuildManager.java:846) at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:45) at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:229) at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:277) at org.eclipse.core.internal.events.BuildManager$1.run(BuildManager.java:330) at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:45) at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:333) at org.eclipse.core.internal.events.BuildManager.basicBuildLoop(BuildManager.java:385) at org.eclipse.core.internal.events.BuildManager.build(BuildManager.java:406) at org.eclipse.core.internal.events.AutoBuildJob.doBuild(AutoBuildJob.java:154) at org.eclipse.core.internal.events.AutoBuildJob.run(AutoBuildJob.java:244) at org.eclipse.core.internal.jobs.Worker.run(Worker.java:63) ``` A temporary workaround is to add the required dependency manually to the FactoryPath, but the added jar will disappear in the next "maven/ update project". Another workaround is to close the dependency project together with the processor one, but it is a pain to have to open the api project every time I need to change it, close it and then update all project the uses the processor.
This bug hasn't had any activity in quite some time. Maybe the problem got resolved, was a duplicate of something else, or became less pressing for some reason - or maybe it's still relevant but just hasn't been looked at yet. If you have further information on the current state of the bug, please add it. The information can be, for example, that the problem still occurs, that you still want the feature, that more information is needed, or that the bug is (for whatever reason) no longer relevant. -- The automated Eclipse Genie.