IntelliJ ApectJ post-编译时编织
IntelliJ ApectJ post-compile time weaving
我有以下方面:
@Aspect
public class DefaultStringAspect {
@Around(value = "execution(* org.apache.commons.lang3.StringUtils.defaultString(..))")
public Object defaultString(ProceedingJoinPoint pjp) {
return "DEF";
}
}
这方面应用于类路径库。它适用于以下 Maven 配置:
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>aspectj-maven-plugin</artifactId>
..
<configuration>
..
<weaveDependencies>
<weaveDependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
</weaveDependency>
</weaveDependencies>
</configuration>
</plugin>
当我尝试从 IntelliJ IDEA 构建项目时,该方面未应用。方面本身是编译的,但编织的依赖关系不是。我试图调整从 Maven 的调试输出中获取的 ajc
命令行选项并将它们添加到 IntelliJ:
-showWeaveInfo
-verbose
-classpath ...
-inpath ...
-d ...
但这对我不起作用。
还有其他想法如何强制 IntelliJ 使用与 Maven 相同的 ajc
配置吗?
将 IDE build/run 操作委派给 Maven 作为解决方法(文件 | 设置 | 构建、执行、部署 | 构建工具 | Maven | Runner):
我有以下方面:
@Aspect
public class DefaultStringAspect {
@Around(value = "execution(* org.apache.commons.lang3.StringUtils.defaultString(..))")
public Object defaultString(ProceedingJoinPoint pjp) {
return "DEF";
}
}
这方面应用于类路径库。它适用于以下 Maven 配置:
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>aspectj-maven-plugin</artifactId>
..
<configuration>
..
<weaveDependencies>
<weaveDependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
</weaveDependency>
</weaveDependencies>
</configuration>
</plugin>
当我尝试从 IntelliJ IDEA 构建项目时,该方面未应用。方面本身是编译的,但编织的依赖关系不是。我试图调整从 Maven 的调试输出中获取的 ajc
命令行选项并将它们添加到 IntelliJ:
-showWeaveInfo -verbose -classpath ... -inpath ... -d ...
但这对我不起作用。
还有其他想法如何强制 IntelliJ 使用与 Maven 相同的 ajc
配置吗?
将 IDE build/run 操作委派给 Maven 作为解决方法(文件 | 设置 | 构建、执行、部署 | 构建工具 | Maven | Runner):