aspectj ткачество уже скомпилированных JAR-артефактов для войны веб-приложения
Я пытаюсь помахать артефактом org.apache.camel-camel-xmpp-2.20.2.jar maven, чтобы в конце концов мое веб-приложение (военный пакет) включило его в WEB-INF/lib. После сборки я декомпилирую цель /my-web-app-exploded-war/WEB-INF/lib/org.apache.camel-camel-xmpp-2.20.2.jar/org/apache/camel/component/xmpp/XmppMessage.class надеется найти мою модификацию или хотя бы какой-нибудь след обработки aspecj, но я не могу.
Q: что я должен сделать, чтобы org.apache.camel-camel-xmpp-2.20.2.jar был изменен в соответствии с моим аспектом?
Используя java 8, aspectj 1.8.9.
выдержка из строительного журнала:
[INFO] --- aspectj-maven-plugin:1.10:compile (default) @ ddcapplication-ddcwebservice ---
[INFO] Showing AJC message detail for messages of types: [error, warning, fail]
[WARNING] You aren't using a compiler supported by lombok, so lombok will not work and has been disabled.
Your processor is: org.aspectj.org.eclipse.jdt.internal.compiler.apt.dispatch.BatchProcessingEnvImpl
Lombok supports: sun/apple javac 1.6, ECJ
<unknown source file>:<no line information>
[WARNING] advice defined in org.apache.camel.component.xmpp.XmppMessageAspect has not been applied [Xlint:adviceDidNotMatch]
/home/adrianpetre/SAGS/DDCWorkspace/ddc/ddcapplication/ddcwebservice/src/main/java/org/apache/camel/component/xmpp/XmppMessageAspect.aj:16
SRC / Основной / Java/ орг / Apache / верблюд / Компонент / XMPP / XmppMessageAspect.aj:
package org.apache.camel.component.xmpp;
public aspect XmppMessageAspect {
pointcut newInstancePointcut():
call(public * org.apache.camel.component.xmpp.XmppMessage.newInstance());
Object around(): newInstancePointcut() {
return new XmppMessage();
}
}
SRC / главная / ресурсы /META-INF/aop.xml:
<aspectj>
<weaver options="-verbose -showWeaveInfo">
<include within="org.apache.camel.component.xmpp.XmppMessage"/>
</weaver>
<aspects>
<aspect name="XmppMessageAspect"/>
</aspects>
</aspectj>
AspectJ-Maven-плагин:
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>aspectj-maven-plugin</artifactId>
<configuration combine.self="override">
<verbose>true</verbose>
<showWeaveInfo>true</showWeaveInfo>
<privateScope>true</privateScope>
<source>${maven.compiler.source}</source>
<target>${maven.compiler.target}</target>
<complianceLevel>${maven.compiler.target}</complianceLevel>
<xmlConfigured>src/main/resources/META-INF/aop.xml</xmlConfigured>
<weaveMainSourceFolder>false</weaveMainSourceFolder>
<weaveDependencies>
<weaveDependency>
<groupId>org.apache.camel</groupId>
<artifactId>camel-xmpp</artifactId>
</weaveDependency>
</weaveDependencies>
</configuration>
<executions>
<execution>
<phase>process-resources</phase>
<!--
I tried with these too:
generate-resources, compile, prepare-package, package
-->
<goals>
<goal>compile</goal>
</goals>
</execution>
</executions>
</plugin>
Мой pom.xml включает в себя:
<dependency>
<groupId>org.apache.camel</groupId>
<artifactId>camel-xmpp</artifactId>
<version>2.20.2</version>
<exclusions>
<exclusion>
<groupId>org.apache.camel</groupId>
<artifactId>camel-core</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.aspectj</groupId>
<artifactId>aspectjrt</artifactId>
</dependency>
<dependency>
<groupId>org.aspectj</groupId>
<artifactId>aspectjtools</artifactId>
</dependency>