Thanks for responding. Turning on the verbose and weaveInfo options was very 
informative. It showed I had a basic misunderstanding of when/how aspects are 
applied. 

None of the classes that were jarred contained advice because 
"Xlint:adviceDidNotMatch". The JUnit method-call join points into those classes 
were advised by the around advice I wrote. I'd expected the advice would be 
woven into the target methods rather than calls to the target methods. 

Oh well. At least, I now understand why the jarred classes don't perform as I'd 
hoped. 

Jane 

----- Original Message ----- 
From: "Andy Clement" <[email protected]> 
To: [email protected] 
Sent: Thursday, September 23, 2010 4:15:04 PM 
Subject: Re: [aspectj-users] woven classes not getting into the woven jar 

Hi, 

I had hoped an expert on the maven-aspectj plugin would dive in here, 
but no luck so far... 

Have you tried removing the section: 

<includes> 
<include>**/*.java</include> 
</includes> 
<excludes> 
<exclude /> 
</excludes> 

since java and aj files are added by default. I'm just thinking of 
that to bring it more in line with the example on: 

http://mojo.codehaus.org/aspectj-maven-plugin/libraryJars.html 

Does the plugin let you turn on the showWeaveInfo/verbose options so 
you can see if weaving is actually occurring? 

cheers, 
Andy 

On 20 September 2010 22:52, Jane Eisenstein <[email protected]> wrote: 
> 
> I created an aspect library jar and am weaving it into java classes that go 
> into a woven jar. I use maven 2.2.1 and aspectj-maven-plugin 1.3 to build 
> the aspect library and weave it into the java classes. 
> Running a JUnit that tests the weaving in the the woven project, passes. If 
> I copy the same JUnit test into a project that depends on the woven 
> project's jar and aspectjrt.jar, the JUnit test fails. 
> Apparently the woven classes are not getting into the "woven" jar. I would 
> appreciate any insights you might have into what is causing this problem. 
> This is the pom.xml for the woven project: 
> <project xmlns="http://maven.apache.org/POM/4.0.0"; 
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; 
> xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 
> http://maven.apache.org/maven-v4_0_0.xsd";> 
> <modelVersion>4.0.0</modelVersion> 
> <groupId>com.med</groupId> 
> <artifactId>cdc-aop-woven</artifactId> 
> <packaging>jar</packaging> 
> <version>1.0-SNAPSHOT</version> 
> <name>cdc-aop-woven</name> 
> <build> 
> <plugins> 
> <plugin> 
> <!-- This is necessary to enable JDK 1.6 --> 
> <groupId>org.apache.maven.plugins</groupId> 
> <artifactId>maven-compiler-plugin</artifactId> 
> <configuration> 
> <source>1.6</source> 
> <target>1.6</target> 
> </configuration> 
> </plugin> 
> <plugin> 
> <groupId>org.codehaus.mojo</groupId> 
> <artifactId>aspectj-maven-plugin</artifactId> 
> <version>1.3</version> 
> <configuration> 
> <complianceLevel>1.6</complianceLevel> 
> <includes> 
> <include>**/*.java</include> 
> </includes> 
> <excludes> 
> <exclude /> 
> </excludes> 
> <aspectLibraries> 
> <aspectLibrary> 
> <groupId>com.med</groupId> 
> <artifactId>cdc-aop</artifactId> 
> </aspectLibrary> 
> </aspectLibraries> 
> </configuration> 
> <executions> 
> <execution> 
> <goals> 
> <!-- use this goal to weave all your main classes --> 
> <goal>compile</goal> 
> <!-- use this goal to weave all your test classes --> 
> <goal>test-compile</goal> 
> </goals> 
> </execution> 
> </executions> 
> </plugin> 
> </plugins> 
> </build> 
> <dependencies> 
> <dependency> 
> <groupId>junit</groupId> 
> <artifactId>junit</artifactId> 
> <version>3.8.1</version> 
> <scope>test</scope> 
> </dependency> 
> <dependency> 
> <groupId>org.aspectj</groupId> 
> <artifactId>aspectjrt</artifactId> 
> <version>1.6.9</version> 
> </dependency> 
> <dependency> 
> <groupId>commons-logging</groupId> 
> <artifactId>commons-logging</artifactId> 
> <version>1.1.1</version> 
> </dependency> 
> <dependency> 
> <groupId>com.med</groupId> 
> <artifactId>cdc-aop</artifactId> 
> <version>1.0-SNAPSHOT</version> 
> </dependency> 
> </dependencies> 
> </project> 
> This is the pom.xml for the project that tests the woven jar: 
> <project xmlns="http://maven.apache.org/POM/4.0.0"; 
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; 
> xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 
> http://maven.apache.org/maven-v4_0_0.xsd";> 
> <modelVersion>4.0.0</modelVersion> 
> <groupId>com.med</groupId> 
> <artifactId>cdc-aop-woven-client</artifactId> 
> <packaging>jar</packaging> 
> <version>1.0-SNAPSHOT</version> 
> <name>cdc-aop-woven-client</name> 
> <build> 
> <plugins> 
> <plugin> 
> <!-- This is necessary to enable JDK 1.6 --> 
> <groupId>org.apache.maven.plugins</groupId> 
> <artifactId>maven-compiler-plugin</artifactId> 
> <configuration> 
> <source>1.6</source> 
> <target>1.6</target> 
> </configuration> 
> </plugin> 
> </plugins> 
> </build> 
> <dependencies> 
> <dependency> 
> <groupId>junit</groupId> 
> <artifactId>junit</artifactId> 
> <version>3.8.1</version> 
> <scope>test</scope> 
> </dependency> 
> <dependency> 
> <groupId>commons-logging</groupId> 
> <artifactId>commons-logging</artifactId> 
> <version>1.1.1</version> 
> </dependency> 
> <dependency> 
> <groupId>org.aspectj</groupId> 
> <artifactId>aspectjrt</artifactId> 
> <version>1.6.9</version> 
> </dependency> 
> <dependency> 
> <groupId>com.med</groupId> 
> <artifactId>cdc-aop-woven</artifactId> 
> <version>1.0-SNAPSHOT</version> 
> </dependency> 
> </dependencies> 
> </project> 
> 
> 
> 
> 
> _______________________________________________ 
> aspectj-users mailing list 
> [email protected] 
> https://dev.eclipse.org/mailman/listinfo/aspectj-users 
> 
> 
_______________________________________________ 
aspectj-users mailing list 
[email protected] 
https://dev.eclipse.org/mailman/listinfo/aspectj-users 
_______________________________________________
aspectj-users mailing list
[email protected]
https://dev.eclipse.org/mailman/listinfo/aspectj-users

Reply via email to