[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [aspectj-users] aspectJ with packaged classes

Maybe you're going wrong at step 2 below. You can run as a regular
Java application, but you need to select the AspectJ project in the
Run configuration.

On 22/05/07, Anirudh Chandrakant <anirudh.chandrakant@xxxxxxxxx> wrote:
Hi Matt,

Thanks for the help.

I really must be the dumbest person on this list, i still havent been able
to to get it to work :(

Firstly, here is what i dummy code looks like:

HelloWorld.java
 ---------------------
public class HelloWorld {

     public static void main(String[] args) {
        callHelloWorld();
     }


public static void callHelloWorld() { System.out.println ("Hello World"); } }

HelloAspect.aj
----------------------
public aspect HelloAspect {

    pointcut callHelloWorld() :
         execution(* *(..));


after() : callHelloWorld() { System.out.println("Hello To You Too!"); } }

These are in two different projects (only the second file in a AspectJ
project, the first one is a simple java project). I added the helloworld.jar
as a inpath jar in the aspectj project. I also
1) turned on the option to see the info in the Problems view and i see the
info on join-points and
2) tried to run it as a aspectJ application and i can select HelloWorld as
the main class in the configuration.

But, when i execute it - i get only "Hello World". When i put both the
classes in the same project and run it, i get the right result.

What am i doing wrong?!

Thanks,
Anirudh


On 5/22/07, Matt Chapman <mpchapman@xxxxxxxxx> wrote: > After step 3, try adding the 'Hello World' jar file to the AspectJ > project's in-path. The weaving will then occur in the AspectJ project, > and the woven version of the Hello World class will be written to the > output folder of the AspectJ project. You could use the Navigator view > to check this. You can then run the woven class by creating a run > configuration for the AspectJ project and entering the name of the > class. To confirm that weaving is happening, you can also turn on a > compiler option: AspectJ compiler > Information > Output weaving info > messages to problems view. > > This article may also be useful background reading: > http://www.eclipse.org/articles/Article-Introducing-AJDT/article.html > > Hope that helps, > > Matt. > > On 21/05/07, Anirudh Chandrakant <anirudh.chandrakant@xxxxxxxxx > wrote: > > Hi, > > > > Thanks for that, it makes things a little clearer. > > > > But i am still facing a few problems. Here is what i did: > > > > 1. I created a Java project with one class which basically prints 'Hello World' > > 2. I packaged this into a jar and exported it to a location. > > 3. I created a AspectJ project with one aspect which prints a message > > after the call to the method which prints 'Hello World'. > > 4. I packaged this as a 'Jar File with AspectJ support' and exported it. > > 5. When i execute it with the command you have specified, all i can > > see is 'Hello World' with no message from the aspect. > > > > I thought there might be something wrong with my code, so i put the > > Hello World class in the aspect project. When i ran it, it displayed > > the right information. > > > > Am i doing something wrong? Do i need to do something more? > > > > Thanks again, > > Anirudh > > > > On 5/21/07, Sérgio Agostinho <sergioag@xxxxxxxxxxxxx> wrote: > > > > > > Hello there, > > > > > > You will need to do something like this: > > > > > > $ java -classpath > > > ".:aspectjrt.jar:your_aspectj_project.jar" -jar > > > your_java_project.jar > > > > > > This assumes that you are keeping the aspectJ runtime library and your > > > aspects JARs in the same directory as to your application. It also assumes > > > that your are creating a JAR file with your aspectJ project. > > > > > > Hope this helps, > > > > > > Anirudh Chandrakant wrote: > > > Thank you so much for that information, dean! > > > > > > I still a little difficulty figuring out how this would work. Here is the > > > scenario: > > > I have a Java project. I do not have the sources, i only have the jar. I > > > would like to weave aspects into this. I create an aspectJ project and > > > define the aspects i want. I add the Java jar in the inpath of the aspectJ > > > project. > > > > > > Now: > > > 1. How do i execute the aspectJ project without a 'main' class? If i have > > > to specify the 'main' class, what do i do in the main class? > > > 2. How does it all work? If i execute the jar file, how are the aspects > > > weaved in? How is the jar aware of the aspects? > > > > > > Maybe i am missing something extremely simple here, but i am unable to > > > figure out how this whole setting would function. > > > > > > Thanks in advance, > > > Anirudh > > > > > > > > > On 5/21/07, Dean Wampler < dean@xxxxxxxxxxxxxxxxxxxxx> wrote: > > > > > > > > Yes, use the "-inpath" option for ajc to specify the jars you want to > > > "weave". Here's a good blog on the different path options. > > > > > > > > > > > > > > > http://www.aspectprogrammer.org/blogs/adrian/2004/10/three_paths_sta.html > > > > > > > > > > > > dean > > > > > > > > > > > > > > > > > > > > On May 21, 2007, at 6:05 AM, Anirudh Chandrakant wrote: > > > > > > > > > > > > Hi, > > > > > > > > I am a new entrant into the aspectJ world and i am enjoying the ride so > > > far. > > > > I have used aspectJ with an existing project and it works as desired. > > > > > > > > Now, if i have a Java project but i do not have the source files (i only > > > have the jar), can i still use aspectJ? (I know the signatures of all the > > > methods that i want to insert my pointcuts into) > > > > > > > > The demo shows conversion of a normal project into an aspectJ project (in > > > a step similar to instrumentation), i was wondering if this was possible > > > with packaged classes. > > > > > > > > Thanks in advance, > > > > Anirudh > > > > > > > > _______________________________________________ > > > > aspectj-users mailing list > > > > aspectj-users@xxxxxxxxxxx > > > > https://dev.eclipse.org/mailman/listinfo/aspectj-users > > > > > > > > > > > > Dean Wampler, Ph.D. > > > > dean at objectmentor.com > > > > http://www.objectmentor.com > > > > http://www.aspectprogramming.com > > > > http://www.contract4j.org > > > > > > > > > > > > I want my tombstone to say: > > > > Unknown Application Error in Dean Wampler.exe. > > > > Application Terminated. > > > > [Okay] [Cancel] > > > > > > > > > > > > > > > > > > > > _______________________________________________ > > > > aspectj-users mailing list > > > > aspectj-users@xxxxxxxxxxx > > > > https://dev.eclipse.org/mailman/listinfo/aspectj-users > > > > > > > > > > > > > > > > > > > > -- > > > 'Tomorrow's what i am waiting for, but i can wait a little more' - Calvin > > > (Bill Watterson) ________________________________ > > > > > > _______________________________________________ > > > aspectj-users mailing list > > > aspectj-users@xxxxxxxxxxx > > > https://dev.eclipse.org/mailman/listinfo/aspectj-users > > > > > > > > > > > > -- > > > Sérgio Agostinho > > > Research Assistant > > > > > > CITI - Centre for Informatics and Information Technologies > > > Faculdade de Ciências e Tecnologia > > > Monte da Caparica > > > 2829-516 Caparica > > > Portugal > > > > > > E-mail: sergioag@xxxxxxxxxxxxx > > > URL: http://citi.di.fct.unl.pt > > > Phone: +351 21 2948300 (ext. 10771) > > > > > > > > > _______________________________________________ > > > aspectj-users mailing list > > > aspectj-users@xxxxxxxxxxx > > > https://dev.eclipse.org/mailman/listinfo/aspectj-users > > > > > > > > > > > > -- > > 'Tomorrow's what i am waiting for, but i can wait a little more' - > > Calvin (Bill Watterson) > > _______________________________________________ > > 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 >



--
'Tomorrow's what i am waiting for, but i can wait a little more' - Calvin
(Bill Watterson)
_______________________________________________
aspectj-users mailing list
aspectj-users@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/aspectj-users