public class MyProcessor extends AbstractProcessor { BaseProcessingEnvImpl env; @Override public synchronized void init(ProcessingEnvironment processingEnv) { String className = processingEnv.getClass().getName(); processingEnv.getMessager().printMessage(WARNING, "class name is: " + className); if ("org.eclipse.jdt.internal.compiler.apt.dispatch.BaseProcessingEnvImpl".equals(className) || "org.eclipse.jdt.internal.apt.pluggable.core.dispatch.IdeBuildProcessingEnvImpl".equals(className)){ // Trying to convert ProcessingEnvironment to BaseProcessingEnvImpl env = (BaseProcessingEnvImpl) processingEnv; } super.init(processingEnv); } public boolean process(Set<? extends TypeElement> annotations, RoundEnvironment roundEnv) { return false; } }
java.lang.NoClassDefFoundError: org/eclipse/jdt/internal/compiler/apt/dispatch/BaseProcessingEnvImpl at test.MyProcessor.init(MyProcessor.java:29) at org.eclipse.jdt.internal.apt.pluggable.core.dispatch.IdeAnnotationProcessorManager.discoverNextProcessor(IdeAnnotationProcessorManager.java:97) 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:950) 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.BatchImageBuilder.compile(BatchImageBuilder.java:214) at org.eclipse.jdt.internal.core.builder.AbstractImageBuilder.compile(AbstractImageBuilder.java:309) at org.eclipse.jdt.internal.core.builder.BatchImageBuilder.build(BatchImageBuilder.java:79) at org.eclipse.jdt.internal.core.builder.JavaBuilder.buildAll(JavaBuilder.java:272) at org.eclipse.jdt.internal.core.builder.JavaBuilder.build(JavaBuilder.java:187) 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.basicBuild(BuildManager.java:292) at org.eclipse.core.internal.events.BuildManager.build(BuildManager.java:481) at org.eclipse.core.internal.resources.Project$1.run(Project.java:565) at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2292) at org.eclipse.core.internal.resources.Project.internalBuild(Project.java:603) at org.eclipse.core.internal.resources.Project.build(Project.java:116) at org.eclipse.jdt.internal.ui.util.CoreUtility$BuildJob.run(CoreUtility.java:157) at org.eclipse.core.internal.jobs.Worker.run(Worker.java:63) Caused by: java.lang.ClassNotFoundException: org.eclipse.jdt.internal.compiler.apt.dispatch.BaseProcessingEnvImpl at java.base/java.net.URLClassLoader.findClass(URLClassLoader.java:435) at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:589) at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:522)