AspectJ compile time weaving with Spring boot and maven

I'm trying to use the AspectJ aspects in conjunction with Spring boot. But seems Spring can't see aspect classes compiled with Ajc compiler, and I get the error that there is no package containing my aspects found.

I'm using the following aspectj-maven-plugin configuration:

        <plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>aspectj-maven-plugin</artifactId>
            <version>1.10</version>
            <dependencies>
                <dependency>
                    <groupId>org.aspectj</groupId>
                    <artifactId>aspectjtools</artifactId>
                    <version>1.8.9</version>
                </dependency>
                <dependency>
                    <groupId>org.aspectj</groupId>
                    <artifactId>aspectjrt</artifactId>
                    <version>1.8.9</version>
                </dependency>
            </dependencies>
            <configuration>
                <complianceLevel>1.8</complianceLevel>
                <source>1.8</source>
                <target>1.8</target>
                <showWeaveInfo>true</showWeaveInfo>
                <verbose>true</verbose>
                <Xlint>ignore</Xlint>
                <encoding>UTF-8 </encoding>
                <weaveDirectories>
                    <weaveDirectory>${project.build.directory}/classes</weaveDirectory>
                </weaveDirectories>
                <forceAjcCompile>true</forceAjcCompile>
            </configuration>
            <executions>
                <execution>
                    <goals>
                        <goal>compile</goal>
                        <goal>test-compile</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>

Also the following dependency has been added:

    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-aop</artifactId>
    </dependency>

Configured aop config in spring:

@Configuration
public class AspectJConfig {

    @Bean
    public MyAspect myAspect() {
        return Aspects.aspectOf(MyAspect.class);
    }
}

I can't figure out what the reason that my Aspect classes finally can't be found. Any help is appreciated.

链接地址: http://www.djcxy.com/p/25416.html

上一篇: AspectJ的Autocompletion不能在eclipse中与spring roo 2项目一起工作

下一篇: AspectJ编译时使用Spring引导和maven编织