The way I understand it that enabling the agent is not enough, you also need the aop.xml file as well.On Sep 6, 2008, at 3:19 PM, Neo Anderson wrote: I specify the agent on the step 4 where there includes '-javaagent:/path/to/aspectj1.6/lib/aspectjweaver.jar' as stated in the configuration page., unless I misunderstand its meaning (.If so, please tell me the right format.) Thank you very much, --- On Sat, 6/9/08, Ron DiFrango <rdifrango@xxxxxxxxxxxxxxxxxxx> wrote: > From: Ron DiFrango <rdifrango@xxxxxxxxxxxxxxxxxxx> > Subject: RE: [aspectj-users] Load time weaving problem > To: javadeveloper999@xxxxxxxxxxx, aspectj-users@xxxxxxxxxxx, aspectj-users@xxxxxxxxxxx > Date: Saturday, 6 September, 2008, 6:36 PM > I am not LTW expert, but do you have an aop.xml file defined > and on the classpath like the documentation says here: > > http://www.eclipse.org/aspectj/doc/released/devguide/ltw-configuration.html > > If so, maybe supplying that as well would help. > > Ron DiFrango > Manager / Architect > Cap Tech Ventures, Inc (http://www.captechventures.com) > Blog (http://www.captech-soa.blogspot.com) > Cell: 804-855-9196 > Work: 804-545-8742 > > > > -----Original Message----- > From: aspectj-users-bounces@xxxxxxxxxxx on behalf of Neo > Anderson > Sent: Sat 9/6/2008 1:58 PM > To: aspectj-users@xxxxxxxxxxx > Subject: Re: [aspectj-users] Load time weaving problem > > I fix that problem, but I still can not run load-time > weaving. There is no error, it only produces result as there > is no weaving at all. > > The step to run the example is > > 1.) javac -classpath ./ character/Person.java > > 2.) ajc observer/Inspector.aj > > 3.) ajc -outjar ./lib/inspect.jar observer/Inspector.aj > > warning at this step: > > Inspector.aj:4 [warning] no match for this type name: > character.Person [Xlint:invalidAbsoluteTypeName] > pointcut observer(): execution(* > character.Person.speak(..)); // && this(Person); > ^^^^^^^^^^^^^^^^^^^^ > [Xlint:invalidAbsoluteTypeName] > > > 4.) export > ASPECTPATH=./lib/inspect.jar:$ASPECTJ_HOME/lib/aspectjrt.jar > > 5.) aj > -javaagent:/home/neo/app/aspectj1.6/lib/aspectjweaver.jar > -cp ./ character.Person > > what might go wrong? > > Thanks in advice, > > The source now is as below: > > package character; > > public class Person{ > private String name; > > public Person(String name){ > this.name = name; > } > > public String getName(){ > return this.name; > } > public void setName(String name){ > this.name = name; > } > > public void speak(String sentence){ > System.out.println(this.name+" say : > '"+sentence+"'"); > } > > public static void main(String args[]){ > new > Person("Jason").speak("This is a > book!"); > } > > } > > package observer; > > public aspect Inspector{ > pointcut observer(): execution(* > character.Person.speak(..)); // && this(Person); > > before(): observer(){ > System.out.println("before speaking > something, thinking ..."); > } > } > > > > --- On Sat, 6/9/08, Andrew Eisenberg > <andrew@xxxxxxxxxxxx> wrote: > > > From: Andrew Eisenberg <andrew@xxxxxxxxxxxx> > > Subject: Re: [aspectj-users] Load time weaving problem > > To: javadeveloper999@xxxxxxxxxxx, > aspectj-users@xxxxxxxxxxx > > Date: Saturday, 6 September, 2008, 4:48 PM > > When using LTW, the first step is to ensure that your > > pointcuts are > > applying to the correct joinpoints. Unfortunately, > AJDT > > doesn't help > > much with this. > > > > My suggestion to you is to turn off LTW and try to get > the > > program > > working using standard compile time weaving. > You'll > > find that your > > pointcut isn't correct. > > > > If you can't figure it ask again and I'll tell > you > > how to fix your pointcut. > > > > On Sat, Sep 6, 2008 at 7:41 AM, Neo Anderson > > <javadeveloper999@xxxxxxxxxxx> wrote: > > > I am learning to use load-time weaving features > > provided by aspectj, but I can not get my example > worked > > whilst running it. The problem is that the load-time > > weaving seems not work. > > > > > > There are two classes named character/Person.java > and > > observer/Inspector.aj (source is as listed ) . > > > > > > The way how I compile it is > > > 1.) compile Person.java > > > javac -classpath ./ character/Person.java > > > 2.) compile aspectj source > > > ajc -1.6 observer/Inspector.aj (This step > issues > > warning which oreilly's aspectj cookbook says it > is ok) > > > > > > [warning] no match for this type name: Person > > [Xlint:invalidAbsoluteTypeName] > > > pointcut observer(): execution(* speak(..)) > && > > this(Person); > > > > > > ^^^^ > > > [Xlint:invalidAbsoluteTypeName] > > > > > > /home/neo/workspace/coding/aspectj/load-time-weaving/observer/Inspector.aj:6 > > [warning] advice defined in observer.Inspector has not > been > > applied [Xlint:adviceDidNotMatch] > > > > > > 3.) produce outjar and export it in ASPECTPATH > > > ajc -outjar lib/inspector.jar > observer/Inspector.aj > > > export ASPECTPATH=./lib/inspect.jar > > > > > > 4.) run example > > > aj -javaagent:$ASPECTJ_HOME/lib/aspectjweaver.jar > -cp > > ./ character.Person > > > > > > > The result only shows "Jason speak : This is > a > > book!" without weaving. > > > > > > What I expect is > > > stage before speaking something! > > > Jason speak : This is a book! > > > > > > Where did I do it wrong? > > > > > > My env: aspectj1.6/ open suse 11.0 64bit/kernel > > 2.6.25-1.1-default/ jdk1.6.x > > > > > > I appreciate any advice, > > > > > > Thank you very much > > > > > > The source is as below: > > > > > > package character; > > > > > > public class Person{ > > > private String name; > > > > > > public Person(String name){ > > > this.name = name; > > > } > > > > > > public String getName(){ > > > return this.name; > > > } > > > public void setName(String name){ > > > this.name = name; > > > } > > > > > > public void speak(String sentence){ > > > > System.out.println(this.name+" > > speak : "+sentence); > > > } > > > > > > public static void main(String args[]){ > > > new > > Person("Jason").speak("This is a > > book!"); > > > } > > > } > > > > > > package observer; > > > > > > public aspect Inspector{ > > > pointcut observer(): execution(* > speak(..)) > > && this(Person); > > > > > > before(): observer(){ > > > System.out.println("stage > before > > speaking something!"); > > > } > > > } > > > > > > > > > > > > > > > > > > > > > _______________________________________________ > > > 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 |