无法在 IntelliJ 中为模块启用 post-compile 编织模式

Unable to enable post-compile weave mode in IntelliJ for a module

我在项目中有一个模块需要post次编织。

我已将我的编译器配置为 Ajc 并且我已将 AspectJ Facet 添加到我的模块中,但我无法启用“Post-compile weave 模式”复选框变灰。

有人知道我错过了什么吗?

通常我通过设置仅在 Eclipse 和 IntelliJ IDEA 中工作的 Maven 项目来完成我的 AspectJ 工作。为了帮助您,我刚刚尝试在 IDEA 中从头开始设置一个简单的 Java + AspectJ 项目。这就是我所做的(我也不得不玩一下):

  • 切换到 Ajc 作为项目编译器,将路径设置为 aspectjtools 库并激活切换以委派给 Javac 用于 post-compile 编织和非-AspectJ 项目
  • aspectjrt 库添加到项目中,作为 JAR 的路径或使用 Maven 坐标
  • 在所有AspectJ相关模块中添加aspectjrt库作为依赖,并添加AspectJ facet
  • 编辑AspectJ facet,激活post-compile weaving

如果您在单独的模块中有方面,请确保将该模块添加为 Java 模块的依赖项,并将其添加到方面路径。

另请注意,如果您有选择地希望使用 Javac 来编译方面模块,则所有方面都必须采用 @AspectJ 语法,而不是原生语法,否则您无法委托给 Javac 但也必须将 Ajc 用于 aspect 模块。无论哪种方式,两个模块都需要有一个 AspectJ facet。


答案已被采纳后更新:

一些 IntelliJ IDEA 参考资料: