带有两个BouncyCastle jar的java.lang.NoClassDefFoundError

带有两个BouncyCastle jar的java.lang.NoClassDefFoundError,java,bouncycastle,Java,Bouncycastle,我已经在我的项目中包括了2个BC jar:bcpkix-jdk15on-1.47.jar和bcprov-jdk15on-157.jar 作为我添加的代码的第一行: Security.addProvider(new BouncyCastleProvider()); 行上发生异常: JcaPKCS10CertificationRequest csrNew = new JcaPKCS10CertificationRequest(request); By the way it is import

我已经在我的项目中包括了2个BC jar:bcpkix-jdk15on-1.47.jar和bcprov-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 位于implementation.Util.generateCSR(Util.java:396)

NetBeans定期发现类,但当我运行项目时会发生异常


有什么办法可以让我定期包含这两个BouncyCastle罐子吗?

错误是针对
org/BouncyCastle/jcajce/JcaJceHelper
,而不是针对
org.BouncyCastle.pkcs.jcajce.jcapkcs10认证请求的

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

org/bouncycastle/jcajce/JcaJceHelper
bcprov-jdk15on-1.47
中提供,但在
bcprov-jdk15on-1.57
中不提供。在1.57版中,它可以通过
org/bouncycastle/jcajce/util/JcaJceHelper
获得

Netbeans无法检测到此问题,因为只有在运行代码时才会出现此问题。它不会在编译时被捕获

解决方案:
是的,你可以同时使用两个罐子。只需使用相同的版本。使用
bcpkix-jdk15on-1.57
或使用
bcprov-jdk15on-1.47

谢谢您的回复!我成功地添加了bcpkix-jdk15on-1.57.jar。很高兴提供帮助:)这个答案有一些错误。但无论如何,bouncycastle的版本控制非常差,而且unprofessional@francogrex让我知道错误。最好纠正一下。