IntelliJ ApectJ编译后的时间编织

时间:2019-07-03 19:28:58

标签: java intellij-idea aspectj aspectj-maven-plugin

我有以下方面:

@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   -冗长   -classpath ...   -inpath ...   -d ...

但这对我不起作用。 还有其他想法如何强制IntelliJ使用与maven相同的ajc配置?

1 个答案:

答案 0 :(得分:1)

将IDE生成/运行操作作为解决方法委派给Maven(文件|设置|生成,执行,部署|生成工具| Maven | Runner):

delegate