4

我在 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方面被正确忽略了。

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

我总是可以破解 ajc 编译器选项或方面路径来实现我想要的,但是如果我出于某种原因必须排除一个方面,它会让我改变两个地方。

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

4

1 回答 1

6

我可以确认

  • 它在 IDEA 中不起作用,
  • JetBrains至少从 2013 年就知道了,
  • 对这个问题发表了评论
  • 你想要什么在 Eclipse 中工作(AspectJ 是一个 Eclipse 项目,所以那里的 IDE 支持要好得多)。

除了这是一个不被认为是错误的已知问题,而是 JetBrains 的一项新功能(请参阅那里的票证类型),我对此无话可说。

于 2015-12-29T11:44:45.420 回答