Jenkins build在AspectJ编织期间随机失败,出现StackOverflower错误

Jenkins build在AspectJ编织期间随机失败,出现StackOverflower错误,build,maven-2,jenkins,aspectj,Build,Maven 2,Jenkins,Aspectj,我们的Jenkins(maven)构建随机失败,出现以下错误堆栈: -- (StackOverflowError) null null java.lang.StackOverflowError at org.aspectj.weaver.World.resolve(World.java:273) at org.aspectj.weaver.World.resolve(World.java:209) at org.aspectj.weaver.UnresolvedTyp

我们的Jenkins(maven)构建随机失败,出现以下错误堆栈:

 -- (StackOverflowError) null
null
java.lang.StackOverflowError
    at org.aspectj.weaver.World.resolve(World.java:273)
    at org.aspectj.weaver.World.resolve(World.java:209)
    at org.aspectj.weaver.UnresolvedType.resolve(UnresolvedType.java:645)
    at org.aspectj.weaver.ResolvedType.getRawType(ResolvedType.java:2331)
    at org.aspectj.weaver.ReferenceType.isAssignableFrom(ReferenceType.java:427)
    at org.aspectj.weaver.ReferenceType.isAssignableFrom(ReferenceType.java:393)
    at org.aspectj.weaver.ReferenceType.isAssignableFrom(ReferenceType.java:427)
    at org.aspectj.weaver.ReferenceType.isAssignableFrom(ReferenceType.java:393)

此故障肯定不是由实际代码更改引起的,通常在发生此类故障后,手动触发(即未提交代码)的后续生成会成功

版本如下:

詹金斯:1.501

马文:2.2.2

aspectjrt:1.6.10


有人知道如何解决这个问题吗?

只是猜测,但由于1.6.8中修复的错误,出现了类似的错误。是什么阻止您升级到当前的AspectJ版本?你的版本真的很旧。

我认为升级到最新版本的aspectj没有解决这个问题的原因是因为在pom中定义了aspectj maven插件版本1.3。此版本的插件依赖于aspectj版本1.6.7(在1.6.8之前的版本中引入了修复程序)。将插件升级到1.4版(取决于aspectj 1.6.11版)似乎已经解决了这个问题,因为从那时起我们就没有收到StackOverflowerr异常

一般来说,应该检查依赖关系树(包括插件),以防存在过时的隐藏依赖关系

查找依赖关系树(包括插件)的命令有:


mvn依赖关系:树


mvn依赖项:解析插件

这是我在其他一些论坛上读到的,我认为1.6.8之后的任何版本都可以。我们正处于项目的一个阶段,我们不愿意冒险升级这种依赖关系。这就是说,我将尝试最新版本,看看这是否解决了问题升级到aspectjrt(1.7.2)的最新版本没有帮助尽管这个构建失败是随机发生的,但它总是发生在编织同一个类的末尾。不过我不知道那门课有什么问题