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>

0 ответов

Другие вопросы по тегам