避免在grails中循环引用继承

时间:2014-05-29 07:16:48

标签: grails bouncycastle grails-2.0 grails-plugin

我有一个用Grails 2.3.8编写的大项目。有时当我使用我的CI部署它时,我得到了这样的信息:

由于StackOverflowError,无法完成对Web应用程序[/ ProjectName ## 1152]的注释的扫描。

可能的根本原因包括-Xss设置太低以及非法循环继承依赖项。 正在处理的类层次结构是  的 [org.bouncycastle.asn1.ASN1EncodableVector-> org.bouncycastle.asn1.DEREncodableVector-> org.bouncycastle.asn1.ASN1EncodableVector]

我已经增加了Xss设置,但很明显,但也许我错了,有一个循环引用: org.bouncycastle.asn1.ASN1EncodableVector-> org.bouncycastle.asn1.DEREncodableVector-> org.bouncycastle.asn1.ASN1EncodableVector

我红了,你可以避免检查,我无法删除库因为我需要它。但我不知道如何在Grails中做到这一点。我可以排除他们,但这不是我想要的。

非常感谢任何建议

NIBE

更新 我刚刚解决了这个问题。我删除了buildConfig文件中每个bouncycastle库的痕迹。没有任何依赖或排除痕迹。只需在crypto.2.0中添加插件,一切正常!

1 个答案:

答案 0 :(得分:9)

我认为是因为从类路径引用了两个版本的JAR。

这通常是在加载不同版本的 bcprov-jdk * .jar 时引起的。

For example, IN one of my scenario - I had 

..../webapps/FOO/WEB-INF/lib/bcprov-jdk15on-147.jar
..../webapps/FOO/WEB-INF/lib/bcprov-jdk15on-1.51.jar 

我从类路径中删除了其中任何一个后解决了这个问题。