我正在尝试使用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冲突 如果有人找到
,请告诉我答案 0 :(得分:2)
这个错误很可能发生,因为当你使用Eclipse运行时使用的是一个版本的bouncycastle .jars,但是其中一个.jars有一个不同版本,它位于Weblogic运行应用程序时使用的类路径上
您需要调查Weblogic如何设置类路径,并确保您需要的.jars版本在预先存在的版本之前的类路径中(除非错误地存在该预先存在的版本,在这种情况下您可以只需从类路径中删除预先存在的一个。)