充气城堡没有这样的方法错误

时间:2015-12-30 12:13:34

标签: encryption bouncycastle

我正在尝试使用Bouncy Castle v1.53 PGP和Using PGPUtil类解密文件。 该程序在我的Eclipse中工作正常,但是当集成在war文件中并部署到weblogic服务器上时会出现以下错误。我正在使用以下依赖项:     1)bcpg-jdk15on     2)bcprov-jdk15on

错误

java.lang.NoSuchMethodError:   
 org.bouncycastle.util.Strings.newList()Lorg/bouncycastle/util/StringList;
 at org.bouncycastle.bcpg.ArmoredInputStream.<init>(Unknown Source)
 at org.bouncycastle.bcpg.ArmoredInputStream.<init>(Unknown Source)
 at org.bouncycastle.openpgp.PGPUtil.getDecoderStream(Unknown Source)`

解决

将以下类复制到源文件夹中时,此问题得以解决:

org.bouncycastle.util.Strings  
org.bouncycastle.util.StringList  
org.bouncycastle.bcpg.ArmoredInputStream  
org.bouncycastle.openpgp.PGPUtil`

更改其班级名称

但是,我想要一个比这更好的解决方案,因为我觉得这是一些Jar冲突 如果有人找到

,请告诉我

1 个答案:

答案 0 :(得分:2)

这个错误很可能发生,因为当你使用Eclipse运行时使用的是一个版本的bouncycastle .jars,但是其中一个.jars有一个不同版本,它位于Weblogic运行应用程序时使用的类路径上

您需要调查Weblogic如何设置类路径,并确保您需要的.jars版本在预先存在的版本之前的类路径中(除非错误地存在该预先存在的版本,在这种情况下您可以只需从类路径中删除预先存在的一个。)