AspectJ使用Spring引导和maven编译时编织

时间:2017-12-13 18:30:29

标签: java spring-boot aspectj aspectj-maven-plugin

我试图将AspectJ方面与Spring引导结合使用。但是看起来Spring看不到使用Ajc编译器编译的方面类,并且我得到的错误是没有包含我的方面的包。

我使用以下aspectj-maven-plugin配置:

        <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>

还添加了以下依赖项:

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

在spring中配置aop配置:

@Configuration
public class AspectJConfig {

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

我无法弄清楚我的Aspect课程最终无法找到的原因。任何帮助表示赞赏。

0 个答案:

没有答案