问题标签 [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 回答
170 浏览

maven-2 - 在 maven 中加入 -xmlConfigured

maven-aspectj-plugin 是否有一个选项来指定ajc 的选项-xmlConfigured?

如果没有,使用 maven 使用最新版本的 ajc 编译方面代码的常见做法是什么?

0 投票
2 回答
1055 浏览

groovy - AspectJ Maven 插件破坏了 GMaven 构建的 Groovy 类

我正在尝试在模块上运行 Groovy 和 AspectJ,但是当我添加 AspectJ 时,这些类似乎返回的值与我预期的非常不同:

这不是我所期望的,当我关闭 AspectJ 时,这一切都运行良好。

这是我的 AspectJ 插件,它似乎导致了这个问题:

但是当我启用aspectj-maven-plugin时,一切都开始失败:

这是 Groovy 测试:

然后我也创建了一个 Java 单元测试用例:

谁能帮我理解为什么aspectj-maven-plugin似乎会导致我的最终字节码出现编译错误?

0 投票
1 回答
857 浏览

annotations - maven aspectj 插件可以编织通过注释编写的方面吗?

我有一个项目,我想使用方面但不使用 spring。所以我正在使用AspectJ。在我的特定场景中,LTW 对我不起作用,所以我必须使用 CTW,这导致我使用了 maven aspectj 插件。我目前正在使用 Java 7。我正在将一个 maven 模块中编写的方面编织到另一个模块中,该模块将其作为依赖项。

当我编织非注释方面时,插件似乎正确编织,但是当我将其切换到基于注释的方面时,插件似乎没有写入 hasaspect() 和 aspectof() 方法,因为在运行时我收到异常说方法不存在。

我尝试的一件事是让基于注释的方面扩展 Aspects 类,希望它能够找到方法,但这也不起作用。

我的插件配置如下:

我的注释方面如下所示:

我必须做的是恢复到普通的旧无注释方面样式。但这是一个拖累,因为我不能从方法中抛出异常(或者至少到目前为止,我不知道如何)。抛出异常对于诸如安全之类的事情特别有用,如果用户没有访问权限,异常将是提醒调用者的适当方式。

提前致谢。

0 投票
1 回答
932 浏览

hibernate - 基于编译时编织的注入不起作用

我一直在使用编译时编织一段时间来将一些弹簧组件放入 Hibernate Search FieldBridge

该方面似乎正确编织(我反编译了要检查的类)但是,在运行时, MessageSource 没有被注入。

我正在使用 Spring 3.1.2、Hibernate 4.2.2 和 Hibernate Search 4.3.0。我将 aspectj 从 1.6.11 升级到 1.7.2 无济于事。降级 Hibernate 似乎没有任何效果。同样的事情发生在 Tomcat 6 和 7 上。

反编译的类(我尝试切换到注入 setMethod)

我已经尝试了很多东西,但现在我已经没有办法让它发挥作用了。有什么建议么?

亲切的问候,马克

0 投票
0 回答
1669 浏览

aspectj - 如何使用 aspectj maven 插件指定 aop.xml 的路径

嗨,我的问题与AspectJ Plugin Aspect Config with Maven 使用外部 Jar for Aspect几乎相同

这是我的 pom.xml

我在 META-INF 目录中有我的 aop.xml,如下所示:

我最终想要做的是: http: //perf4j.codehaus.org/devguide.html#Using_the_AspectJ_Compiler_to_Integrate_Timing_Aspects_at_Compile_Time

0 投票
1 回答
6789 浏览

java - AspectJ + Junit + Maven - 在测试中识别出切入点但 NoSuchMethodError: aspectOf() 抛出异常

我在这里关注了几乎所有的 JUnit + Maven + AspectJ 问题,即使我很确定我已经正确设置了所有内容,但我无法对其进行测试。

我有一个只有一个方面的 Maven 模块:

非常简单。我想做的就是在每次执行我的测试项目中的任何测试方法之前和之后做一些事情,这些方法都用@Test.

现在,aspectj-maven-plugin<build>像这样使用:

1)我没有compile目标,<execution>因为我没有课程src/main/java(这是真的,没关系,我知道我在做什么)

2)我有

在我的<dependencies>部分。没有更多关于方面j。

3)我确信我的测试类被 aspectj 识别,因为我看到建议加入点。我懂了:

事后建议也是如此。

4) 当我尝试版本 1.7.3 而不是 1.6.11 时,在处理连接点时出现此消息:expected 1.6.11 found 1.7.3. 我猜这是来自aspectj-maven-plugin 1.4 版的消息,我真的不知道什么时候会发布 1.5 来摆脱这个。哪些版本兼容?

5)我的“代码”看起来像这样:)

6)我有 1.6.0_39 Oracle Java 编译器,我正在用 1.6 编译所有东西(目标、源 .. 全部)

因此,在识别、应用方面,我将执行类似的测试,mvn clean test但我得到的只是:

和相当长的堆栈跟踪。

我真的不知道可能出了什么问题。

0 投票
1 回答
689 浏览

android - 安装 MonkeyTalk 代理后,我的应用程序崩溃

我正在尝试使用MonkeyTalk来自动化我的 Android 应用程序中的黑盒测试。我面临的问题是他们没有任何关于在 Maven 中使用它的文档。所以,经过大量的研究和尝试很多事情,我使构建工作。但是,当我安装 MonkeyTalk 代理时,我的应用程序崩溃了。

我不知道我的构建是否有问题,或者 MonkeyTalk 代理是否与我正在使用的库不兼容。所以,这是我用 maven 构建的:

首先,我下载了 MonkeyTalk 并使用以下命令安装了代理的 JAR:

因此,我添加了以下依赖项:

而且,由于我不希望每个版本都包含 MonkeyTalk 代理,所以我创建了一个配置文件,如下所示:

使用此配置,构建可以正常工作。我在日志中看到 aspectj 插件正在配置 MonkeyTalk。这是日志的一部分:

好的,但是当我安装应用程序并尝试打开它时,我只能打开第一个屏幕,这是最简单的,只有一些按钮可以通过社交网络登录或打开另一个 Activity。但是当我打开另一个更复杂的 Activity 时,应用程序崩溃了。这很奇怪,因为在每个 Android 版本中,它都会崩溃并出现不同的异常。

例如,此异常发生在 Android 4.3 中:

在 Android 2.2 中,我有这个例外:

有更多使用 MonkeyTalk 经验的人知道为什么它的代理会破坏我的应用程序吗?这是我的Maven配置吗?

0 投票
1 回答
1399 浏览

java - 无法将插件目标绑定到 Maven 生命周期阶段

我正在使用 maven sql 插件。我正在使用插件在执行集成测试之前设置我的测试数据库。这是我的项目 pom 中的插件配置。当我执行时,mvn clean install我希望插件目标能够执行。但他们没有被处决。任何帮助将不胜感激。我面临 aspectj 插件的类似问题(下面提供的配置)。

我的 SQL 插件配置:

我的aspectj插件配置:

0 投票
0 回答
264 浏览

java - CTW AspectJ 类不能在 Spring Web 中使用 @Autowiring

如何@Autowired在 Spring Web 应用程序中正确获取 CTW 类?

我见过一些奇怪的运行时行为 wrtaspectJ woven类,包括 LTW 和 CTW。LTW 和 CTW 都表现出相同的奇怪症状,如下所述。在我碰到 JVM 的堆后,他们“似乎”离开了 LTW,但我似乎无法找到我更喜欢的 CTW 解决方案。

我创建了一个 Spring 论坛线程并获得了零牵引力:http: //forum.spring.io/forum/spring-projects/aop/725024-cached-ltw-classes-aren-t-getting-autowired

这里的关键问题是:嵌套异常是

这是一个 Maven 项目,我的方面位于不同项目的模块中。这是我的 maven 的 pom 的简要说明:

该项目编译良好,我希望编织的方法实际上是通过showWeaveInfo. 使用 Spring 3.0.5。

0 投票
1 回答
1474 浏览

java - @Around (AspectJ) 中未捕获的异常

我的想法是使用 AspectJ 来捕获带注释的方法中的异常,如果抛出任何异常,带注释的方法应该尝试再次运行。我主要遵循本教程(http://zoftware.blogspot.cz/2008/02/using-aspectj-and-java-annotations-to_23.html),但我无法让它工作。一切都应该没问题,但事实并非如此。异常在 finally 之前被捕获,并且抛出了许多异常,而不仅仅是一个。Catch inside my aspect 似乎根本不起作用。我使用 AspectJ 1.7.3。代码是...

注解:

注释方法:

方面:

Maven配置:

输出:

感谢您的任何建议:)。

编辑

正如mvieghofer 所建议的,我从不重新抛出异常。我希望@Aroundtwitter.showUser() 中捕获异常,这是错误的。如果有人对解决方案感兴趣,这里是: