2013-04-17 31 views
0

我们詹金斯(行家)期间的StackOverflowError建立随机失败,出现以下错误堆栈:詹金斯建立随机失败AspectJ织

-- (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

任何人有一个想法如何解决这个问题?

+0

虽然此版本的故障发生随机它总是发生在编织结束同一班。我无法弄清楚该课程有什么问题,尽管 –

回答

0

我相信升级到最新版本的aspectj的原因并没有解决这个问题,因为aspectj maven插件1.3版在pom中定义。该版本的插件对aspectj版本1.6.7(1.6.8之前的版本,其中引入了修复)有依赖性。将插件升级到版本1.4(依赖于aspectj版本1.6.11)似乎解决了这个问题,因为从那时起我们没有得到StackOverflowError异常。

一般而言,如果存在过时的隐藏依赖项,应该检查依赖关系树(包括插件)。找出依赖关系树(包括插件)

的命令是:

mvn dependency:tree

mvn dependency:resolve-plugins

0

只是猜测,但由于在1.6.8中修复了一个错误而发生了类似的错误。什么阻止你升级到当前的AspectJ版本?你的年纪很大。

+0

这是我在其他论坛上读到的内容,但我认为1.6.8之后的任何版本都可以。我们正处于项目的一个阶段,我们宁愿不冒险升级这种依赖性。也就是说,我会尝试最新版本,看看是否能解决问题 –

+0

升级到最新版本的aspectjrt(1.7.2)并没有帮助 –