有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

JAVAlang.NoClassDefFoundError与两个BouncyCastle罐子

我已经在我的项目中包括了2个BC JAR: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; 

但我仍然得到:

Exception in thread "AWT-EventQueue-0" java.lang.NoClassDefFoundError: org/bouncycastle/jcajce/JcaJceHelper at implementation.Util.generateCSR(Util.java:396)

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

有什么办法可以让我经常把这两个弹跳壶都放进去


共 (1) 个答案

  1. # 1 楼答案

    org/bouncycastle/jcajce/JcaJceHelper而不是为org.bouncycastle.pkcs.jcajce.JcaPKCS10CertificationRequest出现错误

    问题:您正在使用的jar文件版本bcpkix-jdk15on-1.47是版本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