问题标签 [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 投票
1 回答
1473 浏览

java - 单元测试编译时编织

我正在使用aspectj maven 插件在编译时编织 Aspects。当我运行应用程序时,带有@Advice注释的类在第一次调用通知之前被实例化。例如:

如果我有一个使用@Timed注释的方法,则第一次调用该方法时将打印“创建 MyAdviceClass”,并且每次都会打印“调用的定时注释”。

我想通过模拟一些组件来对建议的功能进行单元测试,MyAdviceClass但是不能这样做,因为MyAdviceClass它是由 AspectJ 及时实例化的,而不是通过 Spring Beans。

像这样进行单元测试的最佳实践方法是什么?

0 投票
1 回答
3715 浏览

java - 在 Maven 编译项目中使用 Spring AOP 得到“无工厂方法'aspectOf()'”发现异常

我继承了一个使用 Spring AOP 的 webapps 代码库。Maven用于编译它,运行在Tomcat 6.x服务器上。我已经尝试通过 Eclipse 的“运行方式”运行项目,也可以mvn clean install在命令行上运行,然后更新 tomcatwebapps文件夹。两者都曾经给我同样的例外。

SEVERE: Context initialization failed org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'com.xyz.ABCAspect#0' defined in ServletContext resource [/WEB-INF/rest-servlet.xml]: No matching factory method found: factory method 'aspectOf()'. Check that a method with the specified name exists and that it is static.

我对 Spring AOP 很陌生,实际上是一般的 AOP。经过一些研究,当我通过 Eclipse 通过将项目转换为项目来运行服务器时,我能够解决这个问题AspectJ。这样做后,我不再收到这些错误。

这对我来说似乎很神奇。而且由于我在进行手动编译/部署时仍然面临同样的问题,我希望能够归零并解决这个问题。

这是我的片段WEB-INF/rest-servlet.xml

这是我的ABCAspect

这是我的片段pom.xml

让我感到困惑的是,在我宣布我的项目是AspectJ自然之后发生了什么如此神奇的事情?那个日食停止了抱怨。

任何指针表示赞赏。

0 投票
1 回答
3281 浏览

spring - 最佳@EnableTransactionManagement 配置

我对这个主题很困惑,并且在 Spring 4.x 文档中看到的建议很少。首先让我声明我可以以任何我想要的方式配置我的项目。静态编织,编译时编织,无等。

我只想要最佳性能。但是,如果性能差异是微秒,那么我只想要最简单的。我只关心会影响我的客户的性能差异。

好的,以下是相关选项:

  1. 建议模式=代理,代理目标类=真
  2. 建议模式=代理,代理目标类=假
  3. adviceMode=aspectJ,编译时编织
  4. adviceMode=aspectJ,加载时编织

我可以为我的应用程序初始化增加一些时间,只要它在运行时速度很快。

那么这四种配置事务管理的方式有哪些取舍呢?

是否也有功能权衡,或者这只是一个性能问题?

请注意,我使用的是 Spring 4.0.2 和 Java 1.7。如果有基本上回答了这个问题的 Spring 4.0 文档,那么我道歉并将我重定向到文档。到目前为止,我已经看到文档说明了如何设置它们,但没有说明它们如何比较。谢谢!

另请注意,网络上有关此的大多数信息确实已过时。所以我正在寻找当前的比较。

0 投票
0 回答
490 浏览

android - 如何在 Android Studio 中配置 AspectJ?

我想在我的 android 项目中使用 .aj 文件,它在 Eclipse 中运行良好。但是如何让它在 Android Studio 中工作呢?我尝试了 Aspectj weaver 插件,但似乎无法将这些方面应用于项目。

0 投票
1 回答
2178 浏览

java - aspectj-maven-plugin,声明软如何编译

declare soft: Exception : execution(* *.*());是否可以仅使用 aspectj-maven-plugin编译具有软化异常(例如:)方面的项目?我无法处理...我仍然收到编译错误

所以它是在不考虑方面的情况下编译的。

我正在使用此命令进行编译:

我的 pom.xml 是:

我究竟做错了什么?

0 投票
1 回答
124 浏览

java - 如何使 aspectj-maven-plugin 在警告中包含文件名和行号

我通过它在 Java8 项目中的插件使用 AspectJ,在我的 pom.xml 文件中使用此配置:

我收到一些警告,如下所示:

但是它们没有用,因为缺少文件/行信息。我认为我没有使用任何关于 Maven 日志记录格式的特殊自定义,这可能会吞噬我感兴趣的上下文。这是默认的 ajc 日志记录吗?可以定制吗?

0 投票
1 回答
574 浏览

java - 多 Maven 项目的 Spring AOP 问题

嗨,我正在使用 POM 中带有模块的多 maven spring 项目

  1. Bhoomi 域-it
  2. Bhoomi-数据-它
  3. 布米域
  4. 布米数据
  5. Bhoomi 演示文稿
  6. Bhoomi-整合-消费者
  7. Bhoomi-集成提供商

与个人pom.xml

我在包含的Bhoomi-presentation模块中 创建了一个 LoggerAspect 类

问题是当我正在构建项目(Bhoomi-presentation-0.1.0.BUILD-SNAPSHOT.war)时,它只记录 Bhoomi-presentation 模块中存在的类文件的日志,而不是其他模块的日志

所有其他模块在 WAR 的 lib 中以 jar 的形式出现

如果我忘记了任何配置,请告诉我,以便我可以记录所有项目日志

0 投票
2 回答
1894 浏览

java - Maven 不编织 aspectj 代码

我在使用 maven 在 eclipse 中构建方面项目时遇到问题。当我通过 eclipse "Run As > Maven build" 运行 maven 时,我收到以下消息:<...>/Clazz.java:[5,32] 错误:找不到符号。所以,看起来 aspectj 并没有通过 maven 编织代码。

我提炼了这个问题,直到有一个类和一个在提到的类中定义一个类型间属性的方面,如下所示:

pom.xml 看起来像这样:

0 投票
1 回答
2080 浏览

java - maven aspectJ插件编译错误

我在一个 Maven 项目中使用 maven-aspectJ 插件。我想编织 cucumber-java 库。当我运行 Maven 时,我不断得到

我的插件配置如下:

我检查了 pom.xml 并且依赖项在那里。我在这里想念什么?

0 投票
1 回答
31695 浏览

java - 使用 aspectj-maven-plugin 为 java 8 编织 Spring + AspectJ

我正在将我的项目从 java 7 迁移到 java 8,我遇到的问题与使用aspectj-maven-plugin.

根据Haus 文档,我可以使用在 Java 6 和 7 上运行的插件成功配置编织。但问题是我还没有找到任何方法来使用(并找到)支持 java 8 的插件版本 7。我在这里看到插件 7 添加了 java 8 支持但找不到使用它的方法。

这是我需要的配置插件:

我确认使用 1.6 版的上述代码适用于 Java 7,但尝试使用 1.7 版时没有运气。

你知道如何在 Java 8 上运行 spring+aspectj 的 weaver 吗?