How to build project with AspectJ using Ant -
our project using aspectj. works fine in eclipse ide since it's aspectj project in eclipse ide (having aspectj runtime in classpath) doesnt work if use ant build project in unix. have seen articles mention ivy target, i'm looking more details on how config aspectj project build ant.
after googling, found need create aop.xml under meta-inf , add aspectjweaver.jar jvm options in ant build.properties. aspect seems working since saw methods being intercepted. found below exception @ startup:
error org.aspectj.weaver.bcel.bcelworld - unable find class 'object' in repository java.lang.classnotfoundexception: object not found - unable determine url @ org.aspectj.apache.bcel.util.classloaderrepository.loadclass(classloaderrepository.java:292) ~[aspectjweaver.jar.0:1.7.3] @ org.aspectj.weaver.bcel.bcelworld.lookupjavaclass(bcelworld.java:402) [aspectjweaver.jar.0:1.7.3] @ org.aspectj.weaver.bcel.bcelworld.resolvedelegate(bcelworld.java:376) [aspectjweaver.jar.0:1.7.3] ...
my @aspect class looks this:
@aspect public class caseinsensitiveequalsaspect { @pointcut("call(boolean equals(object)) && args(comparestring) && target(sourcestring) && within(com.sample.package..*)") public void equalspointcut(final object comparestring, final string sourcestring) {} @around("equalspointcut(comparestring, sourcestring)") public object around(final proceedingjoinpoint joinpoint, final object comparestring, final string sourcestring) throws throwable { system.out.println(">>>>>>>>>>>>>>>>invoking equalsignorecase..."); return sourcestring.equalsignorecase(comparestring != null ? comparestring.tostring() : null); } }
Comments
Post a Comment