簡體   English   中英

具有兩個BouncyCastle罐的java.lang.NoClassDefFoundError

[英]java.lang.NoClassDefFoundError with two BouncyCastle jars

我在項目中包含了2個BC罐: bcpkix-jdk15on-1.47.jarbcprov-jdk15on-157.jar

作為代碼的第一行,我添加了:

Security.addProvider(new BouncyCastleProvider());  

在線發生異常:

JcaPKCS10CertificationRequest csrNew = new JcaPKCS10CertificationRequest(request);

By the way it is imported: import org.bouncycastle.pkcs.jcajce.JcaPKCS10CertificationRequest; 

但是我仍然得到:

線程“ AWT-EventQueue-0”中的異常java.lang.NoClassDefFoundError:實施時的org / bouncycastle / jcajce / JcaJceHelper.Util.generateCSR(Util.java:396)

NetBeans定期發現類,但是在我運行項目時發生異常。

有什么辦法可以定期包含這兩個BouncyCastle罐子嗎?

org/bouncycastle/jcajce/JcaJceHelper ,而不是org.bouncycastle.pkcs.jcajce.JcaPKCS10CertificationRequest

問題:您正在使用的jar文件的版本。 bcpkix-jdk15on-1.47bcpkix-jdk15on-1.47版,而bcprov-jdk15on-1.57是1.57版。

org/bouncycastle/jcajce/JcaJceHelperbcprov-jdk15on-1.47可用,但在bcprov-jdk15on-1.57不可用。 在1.57版中,它可以作為org/bouncycastle/jcajce/util/JcaJceHelper

Netbeans無法檢測到該問題,因為只有在運行代碼時才會出現此問題。 在編譯時不會被捕獲。

解決方案:是的,您可以將兩個罐子一起使用。 只需使用相同的版本。 使用bcpkix-jdk15on-1.57 使用bcprov-jdk15on-1.47

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM