2017-05-24 3 views
0

I 2 BC Gläser in mein Projekt aufgenommen haben: bcpkix-jdk15on-1.47.jar und bcprov-jdk15on-157.jar.java.lang.NoClassDefFoundError mit zwei BouncyCastle Gläser

Als erster Linie in Code, den ich hinzugefügt haben:

Security.addProvider(new BouncyCastleProvider()); 

Ausnahme tritt auf der Leitung:

JcaPKCS10CertificationRequest csrNew = new JcaPKCS10CertificationRequest(request); 

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

Aber ich bin immer noch:

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

NetBeans gefunden Klasse regelmäßig, aber wenn ich Projekt ausführen, passiert Ausnahme.

Gibt es eine Möglichkeit, wie kann ich regelmäßig diese beiden BouncyCastle Gläser einschließen?

Antwort

1

Fehler tritt für org/bouncycastle/jcajce/JcaJceHelper, nicht für org.bouncycastle.pkcs.jcajce.JcaPKCS10CertificationRequest.

Problem: Versionen von JAR-Dateien, die Sie verwenden. bcpkix-jdk15on-1.47 ist Version 1.47, während bcprov-jdk15on-1.57 Version 1.57 ist.

org/bouncycastle/jcajce/JcaJceHelper war in bcprov-jdk15on-1.47 zur Verfügung, aber es ist in bcprov-jdk15on-1.57 nicht verfügbar. In Version 1.57 ist es als org/bouncycastle/jcajce/util/JcaJceHelper verfügbar.

Netbeans kann das Problem nicht erkennen, da dieses Problem nur auftritt, wenn Sie den Code ausführen. Es wird nicht zur Kompilierzeit abgefangen.

Lösung: Ja, können Sie beide Gläser zusammen verwenden. Verwenden Sie einfach die gleiche Version. Verwenden Sie entweder bcpkix-jdk15on-1.57ORbcprov-jdk15on-1.47.

+0

Vielen Dank für die tolle Antwort! Es gelang mir, bcpkix-jdk15on-1.57.jar hinzuzufügen. – ldragicevic

+0

froh zu helfen :) –

Verwandte Themen