问题标签 [aspectj-maven-plugin]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
316 浏览

java - aspectj - Intertype 方法声明不适用于 Maven

我在使用 Maven 和 AspectJ 编译项目时遇到了麻烦。

这是 POM 的摘录aspectj-maven-plugin(取自有效的 POM):

启动时,mvn clean deploy我得到了以下几行:

只是为了将范围缩小到一个案例:

因此,看起来该方法getId()已正确注入到 classBand中。但是当 Maven 继续测试编译和单元测试时:

并且,在其他错误细节中,我得到了

毕竟,好像我所有的 intertype 声明的东西都没有被注入。

为了检查代码中是否有错误,我尝试在 Eclipse 中运行 JUnit 测试,一切正常。

所以我猜maven编译过程中有些东西我没有正确设置。

谁能帮助我了解导致问题的原因?

0 投票
0 回答
141 浏览

java - AspectJ 不适用于内部 jar 中的非弹簧类

我是 AspectJ 的新手。我有一个 Parent.jar,其中包含@Aspect带有方面日志记录的带注释的类,比如 MyAspect.java。MyAspect当我在切入点中提到 Parent.jar 的包时,这工作正常。Parent.jar 包含一个 child.jar 作为依赖项。我会检查 child.jar 包上的相同 aspectj 日志记录。这个流程不行。。

我的项目是 Spring Boot 应用程序。我力图为 AspectJ 添加任何特定的依赖项。

任何帮助是极大的赞赏。

0 投票
1 回答
727 浏览

maven - 生成魅力报告时 Maven 站点生命周期失败

我正在尝试运行“mvn 站点”来生成魅力报告,但由于我无法生成报告而出现以下错误。

提前致谢。


Pom.xml 文件

下面是引用了 allure 插件的 pom.xml,我正在使用 allure testng 适配器。

0 投票
0 回答
107 浏览

java - aspectj issue after update to java 8

Trying to upgrade a multi-repository project to java 8... We use aspectj, via the maven plugin. First problem was obvious, needed to update aspectj runtime (and the maven plugin) because the old version didn't understand the new class files.

One of the things our aspectj setup should take care of is automatic logging of method calls. This still works for most classes -- except some classes that are being added to a pre-existing package (which is brought in as weaveDependency from another repository).

Methods from such classes, and only these methods, are now missing missing from our logs.

Honestly I have no idea how to even begin tracking this down, so any suggestions would be much appreciated!

0 投票
1 回答
516 浏览

proxy - Spring 4 Java 配置事务代理和 Aspecj

我正在创建一个使用 aspectj 事务的新项目。它还使用包含服务的遗留 jar,这些服务在需要接口的情况下使用代理方法。

我正在使用 java config 并且当我设置

然后我从遗留库访问代理样式服务时抛出以下异常:

如果我改为:

@EnableTransactionManagement(mode=AdviceMode.PROXY)

然后我没有得到问题,但是我不能在我的新项目中使用 aspectj 样式的事务。

我尝试@EnableTransactionManagement为每个adviceMode 添加两个注释,但这是不允许的。

这是带注释的类

我还在遗留项目中添加了 aspectj maven 插件,希望它能够在编译时处理编织,因此 aspectj 事务可以工作。但这并没有解决问题。

是否可以让 spring 处理两种建议模式?我该怎么做?

或者有没有其他方法可以解决这个问题。

0 投票
1 回答
657 浏览

java - IntelliJ ajc:如何从 aspectj-maven-plugin 中排除工作?

我在 IntelliJ 中使用 ajc 编译器以及 aspectj-maven-plugin,我在其中声明了以下排除项:

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

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

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

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

0 投票
1 回答
301 浏览

java-8 - AspectJ:Weblogic 12 上的问题

我使用以下配置开发了一个 Java EE 应用程序:

  • JDK 1.7
  • 方面J 1.7
  • 网络逻辑 12.1.3

但是,在将配置升级到以下配置后,所有带有“调用”通配符的方面都无法正常工作,因此,现在无法触及已经命中的连接点:

  • JDK 版本:1.8.0_66
  • AspectJ 版本:1.8.7
  • 应用服务器:Weblogic 12.2.1

方面片段如下:
@Before("call(public * com.gam.commons.core.api.services.Service+.(..)) && within(com.gam.calendar.biz.service.internal.impl.)") public void handle(JoinPoint thisJoinPoint) {
Class declaringType = thisJoinPoint.getSignature().getDeclaringType(); if (declaringType.isInterface()) { UserProfileTO userProfileTO = ((AbstractService) thisJoinPoint.getThis()).getUserProfileTO();/* Caller or this / ((Service) thisJoinPoint.getTarget()).setUserProfileTO(userProfileTO);/ Callee or target */ } }

现在,我很高兴地期待你有什么有意义的观点来喂养我。


注意:我的问题是由于其他原因造成的,请查看我的回答以收集有关该问题的更多信息。

0 投票
1 回答
2101 浏览

aspectj - Aspectj 在类重定位后抛出“org.aspectj.weaver.BCException: malformed org.aspectj.weaver.PointcutDeclaration attribute”异常

我在我正在进行的项目中使用 AspectJ。作为项目的一部分,我试图使用“maven-shade-plugin”和“jarjar-maven-plugin”来将类从一个 jar 重新定位到另一个。

在这两种情况下,当我尝试使用生成的 JAR 时,AspectJ 都失败了,出现以下异常:

如果您能指出我做错了什么,我将不胜感激。

谢谢,纳达夫

0 投票
1 回答
641 浏览

maven - 受 AspectJ 编译时编织影响的 Jacoco 代码覆盖率

我正在使用 Maven 来构建我当前的项目。我有 Jacoco 用于代码覆盖和 aspectJ 用于我的方面的编译时编织。

现在我面临的问题是 aspectJ 编织了影响代码覆盖率的代码。

当我们不编织代码时它是 100%,但是当我们使用 aspectJ 时它会严重下降到 1/4。任何指针?

0 投票
1 回答
507 浏览

aspectj - aspectj-maven-plugin 无法创建 ***$AjcClosure*.class

我的maven项目使用了spring aop,一切正常。现在因为blablabla,我需要使用aspectj,我在配置中添加aspectj依赖和aspectj maven插件

当 maven 构建项目时,输出如下:

我认为目标类应该像这样编译后输出多个类: 预期生成的类

但在我的情况下,只编织了一个类。

当我调用控制器时,有一个空指针执行。

任何帮助将不胜感激。

==========================更新1====================== ====

我将 aspectj maven 插件版本更改为 1.6 并将 ${aspectj.version} 更改为 1.7.4,警告消息没有出现

但是当我调用控制器时,仍然有一个空指针执行(上面发布)。