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

java - 使用 maven/eclipse 编译 AspectJ 为 org/aspectj/bridge/IMessageHolder 抛出 NoClassDefFoundError

我最近在我的 Windows 7 机器上从 eclipse Juno 升级到 Luna,但我的 aspectj 编译出现问题。我收到此错误:

我的 pom 看起来像这样:

......

一些有趣的事情需要注意。当我在 Eclipse 之外(在 linux 机器上)运行 mvn package 时,这工作正常。我有 2 位同事,他们都能够在 eclipse 中进行 maven 包(他们最近也都升级了)。唯一的区别是他们在 Juno 中经历了升级路径,而我只是做了一个全新的“安装”并指出 Luna 和我的工作区(它升级了)。我逐个插件地检查插件,试图找出他们的安装和我的安装之间的区别,但这并没有解决这个问题。我的想法不多了。

这个解决方案对我来说似乎已经过时并且不起作用。

运行 mvn dependency:tree 产生

0 投票
3 回答
618 浏览

maven - Travis Maven 构建退出并出现 OutOfMemoryException

我有一个在 Travis (dockerized) 上运行的 maven 构建,它在我的命令行上构建得很好。几天以来,我java.lang.OutOfMemoryError: GC overhead limit exceeded在测试用例中得到了。这总是在 AspectJ 测试用例中发生。

最后一次构建的输出是https://travis-ci.org/dresden-ocl/dresdenocl/builds/53030457

我没有进行任何深入的更改。而且我没有触及应用程序的 AspectJ 部分。我使用 JAVA_OPTS、MAVEN_OPTS 测试了各种东西,甚至在 pom.xml 中为 tycho-surefire-plugin 传递了更多 RAM。没有任何帮助。

我怎样才能摆脱错误并让我的所有测试再次运行?我认为他们改变了导致错误的 Travis 方面的任何内容。

0 投票
1 回答
1654 浏览

spring - 在 Spring Boot 中抛出 NoSuchMethodError 的编译时方面

在我的 Spring Boot 1.2.2 WAR 中包含的 JAR 文件上运行来自 Maven 的“compile-time-weaver”类时出现错误。

所以,我有一个 jar,ctms-components.jar,我在使用 MAVEN 时运行我的方面(例如,方法时序分析器)。然后,Spring Boot 将其全部放入嵌入式 WAR(我使用的是 Tomcat)。我看到了 AJC Closures() 等 aspectj 编织类,并且我看到 Maven 的日志正在按照我的切入点编织我的类。

这是我的 Maven 日志的摘录。

我的 Spring Boot WAR 显示 AJC 闭包捆绑在 WAR 中:

在此处输入图像描述

运行应用程序时出现的错误是:

java.lang.NoSuchMethodError: cdot.aop.profiler.MethodTimerAspect.aspectOf()Lcdot/aop/profiler/MethodTimerAspect

我不明白为什么它编译时编织,将它添加到我的 Spring Boot WAR 中就好了,还包括 ctms-aspects.jar,但在我的 Aspect 上找不到方法?

0 投票
1 回答
734 浏览

java - java中的方面未正确编织

我有以下方法:

以及以下方面:

这基本上在前面的方法中添加了一个 Sys.out.print

至于 pom.xml 我主要使用以下插件:

但是,当我编译(使用 mvn clean install)并运行生成的 jar 文件时,我永远不会以所需的方法获得编织的代码。

或者,我尝试使用 ajc 编译器手动运行它们,如下所示:

这导致警告

但新的 println 仍然没有出现

我该如何解决这个问题,或者至少更有效地调试它?

注意:使用 maven,正在生成切面的类文件,只是没有将代码编织到实际方法中

0 投票
1 回答
305 浏览

java - Maven 和 AspectJ 打包不好

欢迎,

我在打包 aspectj 程序时遇到问题。在 pom.xml 中使用这段代码:

在控制台上使用此命令:

运行程序的各个方面都很好。但是执行这条路线:

没有奏效。例外情况是有关以下信息:

问题是什么?

0 投票
1 回答
2917 浏览

java - Spring AOP + AspectJ maven 插件 - 内部方法调用不起作用

Java + Spring + Maven 应用程序。
无法从基于注释的公共方法进行内部调用。

先决条件

  1. Java 版本:1.7。
  2. 项目:AspectProject > Post build 它将创建 jar 文件。
  3. 客户端: AspectClient:具有“AspectProject”的依赖项。

方面项目

  1. pom.xml
  1. 方面提供者
  1. 注释“TestAnnotation”

方面客户端

  1. pom.xml
  1. 服务等级
  1. 春天上下文.xml
  1. 主班

输出:

预期的:

如果我缺少任何条目或需要更改配置,请提出建议。提前感谢您的宝贵时间。

0 投票
1 回答
1756 浏览

aop - 使用 AspectJ 自动检测和编织依赖项

我们有一个具有多个编译依赖项的 Maven 项目,每次<dependency>添加新依赖项时,我们都需要<weaveDependency>

这完全按照 http://mojo.codehaus.org/aspectj-maven-plugin/examples/weaveJars.html中的描述完成

但是,如果需要编织所有内容,这很容易导致问题,因为有人可能<weaveDependency>在添加 new 之后忘记添加<dependency>,那么有没有一种方法可以自动检测和编织所有编译依赖项?也许与另一个插件?

0 投票
0 回答
407 浏览

java - 使用 Java 8 类供应商时 Aspectj 出现编译错误

我正在尝试在我的日志记录层中使用一些漂亮的惰性日志记录技巧,但 AspectJ 对此感到窒息。我在 log4j 前面有一个门面。这是代码:

错误:

这是我的 pom 位:

和:

其他有趣的事实是,这在 Eclipse 中编译得很好,但是mvn package从 Linux 命令行运行时出现此错误。

经过进一步的试验/错误,我们发现如果我们手动设置JAVA_HOME为指向 Java 8,那么它可以编译。看起来 AspectJ 要求您JAVA_HOME指向正确的 Java 版本。在主 pom 中,我们指示 maven 使用特定版本的 Java:

这些似乎都不适用于 aspectj-maven-plugin 配置。

0 投票
0 回答
127 浏览

java - 从 Java 7 迁移到 Java 8

我已将我的应用程序从 java 7 迁移到 java 8,但由于 aspectj-maven 编译器,pom.xml 构建失败。我已经尝试到 1.7 版本,但没有运气。

请为 java 8 提供 aspectj-maven-plugin 支持。我一直使用到 1.7,但它无法正常工作。

0 投票
1 回答
1653 浏览

maven - aspectj-maven-plugin 无法解析 java.util.stream.*

我正在尝试编译我最近升级到 Java 8 的项目。

现在我开始使用 Java 8 的特定功能,我发现自己在 aspectj-maven-plugin 上遇到了异常。Eclipse 中的编译和 Maven 中的正常编译工作正常。

我使用 Spring 4.1.x 和 jdk1.8.0_31

有什么建议么?