问题标签 [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.
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 产生
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 方面的任何内容。
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 上找不到方法?
java - java中的方面未正确编织
我有以下方法:
以及以下方面:
这基本上在前面的方法中添加了一个 Sys.out.print
至于 pom.xml 我主要使用以下插件:
但是,当我编译(使用 mvn clean install)并运行生成的 jar 文件时,我永远不会以所需的方法获得编织的代码。
或者,我尝试使用 ajc 编译器手动运行它们,如下所示:
这导致警告
但新的 println 仍然没有出现
我该如何解决这个问题,或者至少更有效地调试它?
注意:使用 maven,正在生成切面的类文件,只是没有将代码编织到实际方法中
java - Maven 和 AspectJ 打包不好
欢迎,
我在打包 aspectj 程序时遇到问题。在 pom.xml 中使用这段代码:
在控制台上使用此命令:
运行程序的各个方面都很好。但是执行这条路线:
没有奏效。例外情况是有关以下信息:
问题是什么?
java - Spring AOP + AspectJ maven 插件 - 内部方法调用不起作用
Java + Spring + Maven 应用程序。
无法从基于注释的公共方法进行内部调用。
先决条件
- Java 版本:1.7。
- 项目:AspectProject > Post build 它将创建 jar 文件。
- 客户端: AspectClient:具有“AspectProject”的依赖项。
方面项目
- pom.xml
- 方面提供者
- 注释“TestAnnotation”
方面客户端
- pom.xml
- 服务等级
- 春天上下文.xml
- 主班
输出:
预期的:
如果我缺少任何条目或需要更改配置,请提出建议。提前感谢您的宝贵时间。
aop - 使用 AspectJ 自动检测和编织依赖项
我们有一个具有多个编译依赖项的 Maven 项目,每次<dependency>
添加新依赖项时,我们都需要<weaveDependency>
在
这完全按照 http://mojo.codehaus.org/aspectj-maven-plugin/examples/weaveJars.html中的描述完成
但是,如果需要编织所有内容,这很容易导致问题,因为有人可能<weaveDependency>
在添加 new 之后忘记添加<dependency>
,那么有没有一种方法可以自动检测和编织所有编译依赖项?也许与另一个插件?
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 配置。
java - 从 Java 7 迁移到 Java 8
我已将我的应用程序从 java 7 迁移到 java 8,但由于 aspectj-maven 编译器,pom.xml 构建失败。我已经尝试到 1.7 版本,但没有运气。
请为 java 8 提供 aspectj-maven-plugin 支持。我一直使用到 1.7,但它无法正常工作。
maven - aspectj-maven-plugin 无法解析 java.util.stream.*
我正在尝试编译我最近升级到 Java 8 的项目。
现在我开始使用 Java 8 的特定功能,我发现自己在 aspectj-maven-plugin 上遇到了异常。Eclipse 中的编译和 Maven 中的正常编译工作正常。
我使用 Spring 4.1.x 和 jdk1.8.0_31
有什么建议么?