开发者

spring aspectj - compile time weaving external jar

I have a project which uses compile time weaving of aspects. this project depends on another project, which is a included as a jar. I want to weave开发者_如何学C a class in the jar file while compiling. How can i achieve this.

Thanks


This jar needs to be added to the inpath of the project being compiled. The result will be a new set of class files. These new class files are the woven ones and should be used at runtime instead of the original jar.

How to set the in path is dependent on how you compile your code:

  1. Within Eclipse/AJDT, you can set the in path on the AspectJ Build project properties page. Here you can also set an in-path out folder to specify a special location for these class files.
  2. From ant using the iajc task, you can use the inpath attribute. See here for more info: http://www.eclipse.org/aspectj/doc/released/devguide/antTasks-iajc.html
  3. When using the ajc command, use the -inpath option. See here http://www.eclipse.org/aspectj/doc/released/devguide/ajc-ref.html.

The tricky part is to remember to avoid using the original jars in the running application, but rather the woven jars.


If you are using maven, you can use the aspectj-maven-plugin as well. It works well with eclipse (m2e).

In the plugin, just specify the groupId/artifactId of the dependent jar as well in the configuration/weaveDependencies/weaveDepedency.

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

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜