dev@glassfish.java.net

tracking down an annotation processor error

From: Lloyd Chambers <Lloyd.Chambers_at_Sun.COM>
Date: Thu, 26 Mar 2009 17:43:23 -0700

I'm tearing my hair out here. The module I'm trying to compile (amx-
core, a new one) doesn't evern reference the annotation
AMXMBeanMetadata.

It did for a short while, I made a change to AMXMBeanMetadata, it
didn't work, so I reverted the change. No go. So I commented out all
references and imports to AMXMBeanMetadata, the module doesn't even
use it!

Still it won't compile ("Could not create declaration for annotation
type AMXMBeanMetaData"), and it's doesn't say which file it has
trouble with. I'm baffled.

How can I track down what's going on?

Thanks.



[INFO] Compiling 52 source files to /work/v3/code/common/amx-core/
target/classes
error: Could not create declaration for annotation type AMXMBeanMetaData
Problem encountered during annotation processing;
see stacktrace below for more information.
java.lang.ClassCastException:
com.sun.tools.apt.mirror.type.ClassTypeImpl cannot be cast to
com.sun.mirror.type.AnnotationType
        at
com
.sun
.tools
.apt
.mirror
.declaration
.AnnotationMirrorImpl.getAnnotationType(AnnotationMirrorImpl.java:82)
        at com.sun.tools.apt.mirror.apt.AnnotationProcessorEnvironmentImpl
$CollectingAP
$
CollectingVisitor
.visitDeclaration(AnnotationProcessorEnvironmentImpl.java:118)
        at
com
.sun
.mirror
.util
.SimpleDeclarationVisitor
.visitMemberDeclaration(SimpleDeclarationVisitor.java:60)
        at
com
.sun
.mirror
.util
.SimpleDeclarationVisitor
.visitTypeDeclaration(SimpleDeclarationVisitor.java:70)
        at
com
.sun
.mirror
.util
.SimpleDeclarationVisitor
.visitInterfaceDeclaration(SimpleDeclarationVisitor.java:100)
        at
com
.sun
.tools
.apt
.mirror
.declaration
.InterfaceDeclarationImpl.accept(InterfaceDeclarationImpl.java:32)
        at
com
.sun
.mirror
.util
.SourceOrderDeclScanner
.visitTypeDeclaration(SourceOrderDeclScanner.java:148)
        at
com
.sun
.mirror
.util
.DeclarationScanner.visitInterfaceDeclaration(DeclarationScanner.java:
150)
        at
com
.sun
.tools
.apt
.mirror
.declaration
.InterfaceDeclarationImpl.accept(InterfaceDeclarationImpl.java:32)
        at com.sun.tools.apt.mirror.apt.AnnotationProcessorEnvironmentImpl
$CollectingAP.process(AnnotationProcessorEnvironmentImpl.java:126)
        at
com
.sun
.tools
.apt
.mirror
.apt
.AnnotationProcessorEnvironmentImpl
.getDeclarationsAnnotatedWith(AnnotationProcessorEnvironmentImpl.java:
100)
        at
com
.sun
.enterprise
.tools.apt.CompanionSeedGenerator.process(CompanionSeedGenerator.java:
72)
        at com.sun.mirror.apt.AnnotationProcessors
$CompositeAnnotationProcessor.process(AnnotationProcessors.java:60)
        at com.sun.mirror.apt.AnnotationProcessors
$CompositeAnnotationProcessor.process(AnnotationProcessors.java:60)
        at com.sun.mirror.apt.AnnotationProcessors
$CompositeAnnotationProcessor.process(AnnotationProcessors.java:60)
        at com.sun.tools.apt.comp.Apt.main(Apt.java:454)
        at com.sun.tools.apt.main.JavaCompiler.compile(JavaCompiler.java:258)
        at com.sun.tools.apt.main.Main.compile(Main.java:1102)
        at com.sun.tools.apt.main.Main.compile(Main.java:964)
        at com.sun.tools.apt.Main.processing(Main.java:95)
        at com.sun.tools.apt.Main.process(Main.java:85)
        at com.sun.enterprise.module.maven.HK2CompileMojo
$1.compileInProcess(HK2CompileMojo.java:123)
        at
com.sun.enterprise.module.maven.AptCompiler.compile(AptCompiler.java:
103)
        at
org
.apache
.maven.plugin.AbstractCompilerMojo.execute(AbstractCompilerMojo.java:
521)
        at
com.sun.enterprise.module.maven.CompilerMojo.execute(CompilerMojo.java:
149)
        at
com
.sun
.enterprise.module.maven.HK2CompileMojo.execute(HK2CompileMojo.java:137)
        at
org
.apache
.maven
.plugin.DefaultPluginManager.executeMojo(DefaultPluginManager.java:451)
        at
org
.apache
.maven
.lifecycle
.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:
558)
        at
org
.apache
.maven
.lifecycle
.DefaultLifecycleExecutor
.executeGoalWithLifecycle(DefaultLifecycleExecutor.java:499)
        at
org
.apache
.maven
.lifecycle
.DefaultLifecycleExecutor.executeGoal(DefaultLifecycleExecutor.java:478)
        at
org
.apache
.maven
.lifecycle
.DefaultLifecycleExecutor
.executeGoalAndHandleFailures(DefaultLifecycleExecutor.java:330)
        at
org
.apache
.maven
.lifecycle
.DefaultLifecycleExecutor
.executeTaskSegments(DefaultLifecycleExecutor.java:291)
        at
org
.apache
.maven
.lifecycle
.DefaultLifecycleExecutor.execute(DefaultLifecycleExecutor.java:142)
        at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:336)
        at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:129)
        at org.apache.maven.cli.MavenCli.main(MavenCli.java:287)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at
sun
.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:
39)
        at
sun
.reflect
.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:
25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at org.codehaus.classworlds.Launcher.launchEnhanced(Launcher.java:315)
        at org.codehaus.classworlds.Launcher.launch(Launcher.java:255)
        at org.codehaus.classworlds.Launcher.mainWithExitCode(Launcher.java:
430)
        at org.codehaus.classworlds.Launcher.main(Launcher.java:375)
[INFO]
------------------------------------------------------------------------
[ERROR] BUILD ERROR
[INFO]
------------------------------------------------------------------------
[INFO] Fatal error compiling


Lloyd Chambers
lloyd.chambers_at_sun.com
GlassFish Team