Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [aspectj-users] Problems with a basic staticinitialization pointcut in AJDT and Maven

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


Back to the top