Bizarre that you get the missing clinit message when AspectJ is the only reason one got inserted... I wonder if there is something wrong (maybe flags or something) about the clinit that it inserts in this case. Could be worth raising an issue about: https://bugs.eclipse.org/bugs/enter_bug.cgi?product=AspectJ
I guess if it isn't triggering when you expect you are probably just going to avoid weaving annotations? (which also gets around this problem) cheers, Andy On 26 October 2012 06:49, Timothy Armstrong <tim.armstr...@gmx.com> wrote: > Hi, > > I think you're probably right about the annotations. In the tests, I'm just > mentioning them by name with their .class object, such as > "myAnnotation.class". It's unfortunate the aspect doesn't trigger then, but > I can work around it. There are hits on Google for 'is missing <clinit>', > but only one for 'AspectJ "is missing <clinit>"'. I couldn't figure it out > based on the hits. Yes, when I remove the staticinitialization aspect, it > compiles. I'm compiling all the annotations from source, if that's what you > mean. > > Thanks, > Tim > > > > On 10/25/2012 08:21 PM, Andy Clement wrote: >> >> Hi, >> >> You will only see your message when the static initializer runs. The >> class may get loaded and used (to some degree) without that happening. >> For example, here are some simple types: >> >> @Retention(RetentionPolicy.RUNTIME) >> @interface Foo { >> } >> >> public class Code { >> @Foo >> public static void main(String []argv) throws Exception { >> } >> } >> >> I can compile that and run 'Code' without the Foo static initializer >> running. >> >> But if I change Code to do something with it, then we will see the >> initializer running: >> >> public class Code { >> @Foo >> public static void main(String []argv) throws Exception { >> Foo f = >> Code.class.getDeclaredMethod("main",String[].class).getAnnotation(Foo.class); >> } >> } >> >> Can it be that some of your code just isn't exercising the annotations >> enough to see their static initializers run? >> >> I've never seen the "is missing <clinit>" message before, but I see it >> is classified as a bit odd: >> https://forums.oracle.com/forums/thread.jspa?messageID=4824974 >> >> I don't speak Maven very well - is AspectJ being used to build those >> annotation types? (I'm not sure if you are building everything from >> source or just weaving via a post compile step). >> >> If you remove your aspect the "is missing" messages all disappear? >> >> cheers, >> Andy >> >> On 25 October 2012 08:24, Timothy Armstrong <tim.armstr...@gmx.com> wrote: >>> >>> Hello, >>> >>> Thanks for your replies. Yes, I get the same behavior when I put version >>> 1.6.11 in the POM, just without the "bad version number" warning. I >>> should >>> have posted that version. I always get the "advice defined in ... has not >>> been applied" warnings for the other aspects, but they still work. It >>> does >>> compile when I specify an annotation, such as >>> "staticinitialization(@OWLClass *)". I posted the only lines in the POM >>> having to do with AspectJ, so I don't know where else filters would be >>> that >>> ignore the test tree. >>> >>> Thanks, >>> Tim >>> >>> >>> >>> On 10/25/2012 09:19 AM, Krzysztof Dębski wrote: >>>> >>>> aspectj-maven-plugin doesn't support aspectj 1.7 >>>> >>>> see: http://jira.codehaus.org/browse/MASPECTJ-108 >>>> >>>> Krzysztof Debski >>>> >>>> 2012/10/24 Romain MULLER <romain.mul...@esial.net>: >>>>> >>>>> I surely am no maven guru and I won't risk myself in trying to comment >>>>> your POM. That said, on the Maven error, I think the following line >>>>> could be of some relevance: >>>>> >>>>> [WARNING] bad version number found in >>>>> >>>>> /home/tim/.m2/repository/org/aspectj/aspectjrt/1.7.0/aspectjrt-1.7.0.jar >>>>> expected 1.6.11 found 1.7.0 >>>>> >>>>> This looks dodgy, I would try to arrange things so that this warning >>>>> isn't produced anymore before digging any further on the maven errors. >>>>> >>>>> On the eclipse side, I'd recommend checking that your AspectJ compiler >>>>> options don't have filters that get your test tree ignored by the >>>>> compile-time weaver. I know it's kind of an "are you sure your >>>>> computer is plugged to a power socket" check, but they very often give >>>>> good results ;) >>>>> >>>>> _________________________ >>>>> Sent over RFC-1149 compliant transport - please excuse occasionnal >>>>> packet >>>>> loss >>>>> >>>>> Le 24 oct. 2012 à 22:08, Timothy Armstrong <tim.armstr...@gmx.com> a >>>>> écrit : >>>>> >>>>>> [WARNING] bad version number found in >>>>>> >>>>>> /home/tim/.m2/repository/org/aspectj/aspectjrt/1.7.0/aspectjrt-1.7.0.jar >>>>>> expected 1.6.11 found 1.7.0 >>>>> >>>>> _______________________________________________ >>>>> aspectj-users mailing list >>>>> aspectj-users@eclipse.org >>>>> https://dev.eclipse.org/mailman/listinfo/aspectj-users >>>>> >>>> _______________________________________________ >>>> aspectj-users mailing list >>>> aspectj-users@eclipse.org >>>> https://dev.eclipse.org/mailman/listinfo/aspectj-users >>> >>> >>> _______________________________________________ >>> aspectj-users mailing list >>> aspectj-users@eclipse.org >>> https://dev.eclipse.org/mailman/listinfo/aspectj-users >> >> _______________________________________________ >> aspectj-users mailing list >> aspectj-users@eclipse.org >> https://dev.eclipse.org/mailman/listinfo/aspectj-users > > > _______________________________________________ > aspectj-users mailing list > aspectj-users@eclipse.org > https://dev.eclipse.org/mailman/listinfo/aspectj-users _______________________________________________ aspectj-users mailing list aspectj-users@eclipse.org https://dev.eclipse.org/mailman/listinfo/aspectj-users