简体   繁体   English

具有两个BouncyCastle罐的java.lang.NoClassDefFoundError

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

I have included 2 BC jars into my project: bcpkix-jdk15on-1.47.jar and bcprov-jdk15on-157.jar . 我在项目中包含了2个BC罐: bcpkix-jdk15on-1.47.jarbcprov-jdk15on-157.jar

As the first line in code I have added: 作为代码的第一行,我添加了:

Security.addProvider(new BouncyCastleProvider());  

Exception occurs on the line: 在线发生异常:

JcaPKCS10CertificationRequest csrNew = new JcaPKCS10CertificationRequest(request);

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

But I am still getting : 但是我仍然得到:

Exception in thread "AWT-EventQueue-0" java.lang.NoClassDefFoundError: org/bouncycastle/jcajce/JcaJceHelper at implementation.Util.generateCSR(Util.java:396) 线程“ AWT-EventQueue-0”中的异常java.lang.NoClassDefFoundError:实施时的org / bouncycastle / jcajce / JcaJceHelper.Util.generateCSR(Util.java:396)

NetBeans found class regularly, but when I run project exception happens. NetBeans定期发现类,但是在我运行项目时发生异常。

Is there any way how could I regularly include both of these two BouncyCastle jars? 有什么办法可以定期包含这两个BouncyCastle罐子吗?

Error is coming for org/bouncycastle/jcajce/JcaJceHelper , not for org.bouncycastle.pkcs.jcajce.JcaPKCS10CertificationRequest . org/bouncycastle/jcajce/JcaJceHelper ,而不是org.bouncycastle.pkcs.jcajce.JcaPKCS10CertificationRequest

Problem: versions of jar files you are using. 问题:您正在使用的jar文件的版本。 bcpkix-jdk15on-1.47 is version 1.47, whereas bcprov-jdk15on-1.57 is version 1.57. bcpkix-jdk15on-1.47bcpkix-jdk15on-1.47版,而bcprov-jdk15on-1.57是1.57版。

org/bouncycastle/jcajce/JcaJceHelper was available in bcprov-jdk15on-1.47 but it is not available in bcprov-jdk15on-1.57 . org/bouncycastle/jcajce/JcaJceHelperbcprov-jdk15on-1.47可用,但在bcprov-jdk15on-1.57不可用。 In version 1.57, it is available as org/bouncycastle/jcajce/util/JcaJceHelper . 在1.57版中,它可以作为org/bouncycastle/jcajce/util/JcaJceHelper

Netbeans is unable to detect the issue, because this issue would come only when you run the code. Netbeans无法检测到该问题,因为只有在运行代码时才会出现此问题。 It will not be caught at compile time. 在编译时不会被捕获。

Solution: Yes, you can use both jars together. 解决方案:是的,您可以将两个罐子一起使用。 Just use the same version. 只需使用相同的版本。 Either use bcpkix-jdk15on-1.57 OR use bcprov-jdk15on-1.47 . 使用bcpkix-jdk15on-1.57 使用bcprov-jdk15on-1.47

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 java.lang.NoClassDefFoundError: org.bouncycastle.jce.provider.BouncyCastleProvider - java.lang.NoClassDefFoundError: org.bouncycastle.jce.provider.BouncyCastleProvider java.lang.NoClassDefFoundError: org.bouncycastle.asn1.ASN1Encodable - java.lang.NoClassDefFoundError: org.bouncycastle.asn1.ASN1Encodable java.lang.NoClassDefFoundError 与外部 jars 在 java 小程序 - java.lang.NoClassDefFoundError with external jars in java applet Java java.lang.NoClassDefFoundError在模块加载器中加载jar - Java java.lang.NoClassDefFoundError whilie loading jars in Module Loader 将外部 JAR 附加到 eclipse 中的 java 项目 - java.lang.NoClassDefFoundError - Attaching external JARs to a java project in eclipse - java.lang.NoClassDefFoundError 得到 java.lang.NoClassDefFoundError: scala/Serializable with scala jars in classpath - got java.lang.NoClassDefFoundError: scala/Serializable with scala jars in classpath Salesforce API罐的Maven阴影罐中的java.lang.NoClassDefFoundError - java.lang.NoClassDefFoundError in Maven shaded jar for salesforce API jars java.lang.NoClassDefFoundError:设置了org / hibernate / Session休眠jar - java.lang.NoClassDefFoundError: org/hibernate/Session hibernate jars is set java.lang.NoClassDefFoundError - java.lang.NoClassDefFoundError java.lang.NoClassDefFoundError - java.lang.NoClassDefFoundError
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM