我正在IntelliJ中使用ajc编译器,以及AspectJ-Maven-plugin,在其中声明以下排除项:

        <plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>aspectj-maven-plugin</artifactId>
            <version>1.8</version>
            <executions>
                <execution>
                    <goals>
                        <goal>compile</goal>
                    </goals>
                </execution>
            </executions>
            <configuration>
                <excludes>
                    <exclude>**/EmployeeAccessAspect.java</exclude>
                </excludes>
                <complianceLevel>1.8</complianceLevel>
                <showWeaveInfo>true</showWeaveInfo>
                <verbose>true</verbose>
            </configuration>
        </plugin>

当我使用mvn compile进行编译时,一切都很好,并且EmployeeAccessAspect方面已被正确忽略。

但是,如果我在IntelliJ中对项目进行Make编码,它将仅编织它找到的所有方面(并且完全忽略了maven排除项)。

我总是可以修改ajc编译器选项或方面路径来实现所需的功能,但是如果由于某种原因不得不排除方面,这将使我改变两个地方。

有什么办法可以使Maven插件和AJC编译同步?我正在使用IntelliJ 15。

最佳答案

我可以确认

  • 它在IDEA中不起作用,
  • JetBrains knows about it至少从2013年开始,
  • 我有commented on this issue
  • 您想要的东西可以在Eclipse中工作(AspectJ是一个Eclipse项目,因此那里的IDE支持要好得多)。

  • 除了这是一个已知问题(不是错误,而是JetBrains的一项新功能)之外,我无法说的太多了(请参阅票证类型)。

    10-04 13:14