Hello,
Thanks for all your help. I submitted a bug report:
https://bugs.eclipse.org/bugs/show_bug.cgi?id=393005. The
annotations in the second part of each error message are marked
with @Retention(RetentionPolicy.RUNTIME). The ones in the first
part are not (the files beginning with upper case letters are
mostly classes, and the ones with lower case are all
annotations). It would have been nice for the
staticinitialization to trigger whenever annotations are mentioned
by name, but I can work around it.
Thanks,
Tim
On 10/26/2012 04:36 PM, Romain MULLER wrote:
BTW - were the annotation classes with the <clinit> errors marked with
a RUNTIME @Retention? I'm guessing maybe the non-runtime annotations
probably don't get a clinit...
_________________________
Sent over RFC-1149 compliant transport - please excuse occasionnal packet loss
Le 26 oct. 2012 à 22:31, Andy Clement <andrew.clement@xxxxxxxxx> a écrit :
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.armstrong@xxxxxxx> 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.armstrong@xxxxxxx> 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.muller@xxxxxxxxx>:
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.armstrong@xxxxxxx> 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@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/aspectj-users
_______________________________________________
aspectj-users mailing list
aspectj-users@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/aspectj-users
_______________________________________________
aspectj-users mailing list
aspectj-users@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/aspectj-users
_______________________________________________
aspectj-users mailing list
aspectj-users@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/aspectj-users
_______________________________________________
aspectj-users mailing list
aspectj-users@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/aspectj-users
_______________________________________________
aspectj-users mailing list
aspectj-users@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/aspectj-users
_______________________________________________
aspectj-users mailing list
aspectj-users@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/aspectj-users
|