线程中的Java Swing Read PDF返回异常;AWT-EventQueue-0“;java.lang.NoClassDefFoundError:org/bouncycastle/asn1/ASN1OctetString
我正在创建一个基于桌面的应用程序,在这里我可以阅读PDF并在预览页面中显示内容。 我正在使用itext和icepdf库执行此任务,但在阅读pdf文件时使用以下代码线程中的Java Swing Read PDF返回异常;AWT-EventQueue-0“;java.lang.NoClassDefFoundError:org/bouncycastle/asn1/ASN1OctetString,java,swing,itext,Java,Swing,Itext,我正在创建一个基于桌面的应用程序,在这里我可以阅读PDF并在预览页面中显示内容。 我正在使用itext和icepdf库执行此任务,但在阅读pdf文件时使用以下代码 PdfReader reader = new PdfReader(pdfFilePath); 它正在返回异常以下 Exception in thread "AWT-EventQueue-0" java.lang.NoClassDefFoundError: org/bouncycastle/asn1/ASN1Oct
PdfReader reader = new PdfReader(pdfFilePath);
它正在返回异常以下
Exception in thread "AWT-EventQueue-0" java.lang.NoClassDefFoundError: org/bouncycastle/asn1/ASN1OctetString
at com.itextpdf.text.pdf.PdfEncryption.<init>(PdfEncryption.java:149)
at com.itextpdf.text.pdf.PdfReader.readDecryptedDocObj(PdfReader.java:1013)
at com.itextpdf.text.pdf.PdfReader.readDocObj(PdfReader.java:1411)
at com.itextpdf.text.pdf.PdfReader.readPdf(PdfReader.java:721)
at com.itextpdf.text.pdf.PdfReader.<init>(PdfReader.java:181)
at com.itextpdf.text.pdf.PdfReader.<init>(PdfReader.java:219)
at com.itextpdf.text.pdf.PdfReader.<init>(PdfReader.java:207)
at com.itextpdf.text.pdf.PdfReader.<init>(PdfReader.java:197)
at com.pdf.common.services.PDFMain.createLeftPanel(PDFMain.java:316)
at com.pdf.common.services.PDFMain.<init>(PDFMain.java:444)
at com.pdf.common.services.PDFMain$1.run(PDFMain.java:155)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:251)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:733)
at java.awt.EventQueue.access$200(EventQueue.java:103)
at java.awt.EventQueue$3.run(EventQueue.java:694)
at java.awt.EventQueue$3.run(EventQueue.java:692)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:703)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:242)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:161)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:150)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:146)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:138)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:91)
Caused by: java.lang.ClassNotFoundException: org.bouncycastle.asn1.ASN1OctetString
at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
... 25 more
线程“AWT-EventQueue-0”java.lang.NoClassDefFoundError中的异常:org/bouncycastle/asn1/ASN1OctetString
请访问com.itextpdf.text.pdf.PdfEncryption.(PdfEncryption.java:149)
在com.itextpdf.text.pdf.PdfReader.readdecrypteddocbj上(PdfReader.java:1013)
请访问com.itextpdf.text.pdf.PdfReader.readDocObj(PdfReader.java:1411)
请访问com.itextpdf.text.pdf.PdfReader.readPdf(PdfReader.java:721)
请访问com.itextpdf.text.pdf.PdfReader(PdfReader.java:181)
请访问com.itextpdf.text.pdf.PdfReader(PdfReader.java:219)
请访问com.itextpdf.text.pdf.PdfReader。(PdfReader.java:207)
请访问com.itextpdf.text.pdf.PdfReader(PdfReader.java:197)
在com.pdf.common.services.PDFMain.createLeftPanel上(PDFMain.java:316)
www.com.pdf.common.services.PDFMain.(PDFMain.java:444)
com.pdf.common.services.PDFMain$1.run(PDFMain.java:155)
在java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:251)中
位于java.awt.EventQueue.dispatchEventImpl(EventQueue.java:733)
在java.awt.EventQueue.access$200(EventQueue.java:103)
位于java.awt.EventQueue$3.run(EventQueue.java:694)
在java.awt.EventQueue$3.run(EventQueue.java:692)
位于java.security.AccessController.doPrivileged(本机方法)
位于java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
位于java.awt.EventQueue.dispatchEvent(EventQueue.java:703)
位于java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:242)
在java.awt.EventDispatchThread.PumpeEventsforFilter(EventDispatchThread.java:161)
位于java.awt.EventDispatchThread.PumpeEventsforHierarchy(EventDispatchThread.java:150)
位于java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:146)
位于java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:138)
在java.awt.EventDispatchThread.run(EventDispatchThread.java:91)
原因:java.lang.ClassNotFoundException:org.bouncycastle.asn1.ASN1OctetString
在java.net.URLClassLoader$1.run(URLClassLoader.java:366)
在java.net.URLClassLoader$1.run(URLClassLoader.java:355)
位于java.security.AccessController.doPrivileged(本机方法)
位于java.net.URLClassLoader.findClass(URLClassLoader.java:354)
位于java.lang.ClassLoader.loadClass(ClassLoader.java:425)
位于sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
位于java.lang.ClassLoader.loadClass(ClassLoader.java:358)
... 25多
根据谷歌搜索,我尝试了以下jar文件
但每次我遇到同样的错误时,我都使用下面版本的库来解决我的问题
iText 5.5.13,
弹跳舱1.49
类路径上有相同库的不同版本。这通常不起作用,特别是对于BouncyCastle。确定您需要的版本并只将其放在类路径中。对于iText 5.5.13:BouncyCastle 1.49,正如在pom.xml
@mkl中所看到的,实际上我没有将所有版本用于同一个库。当我当时使用较低版本的itext库(5.5.0)时,我使用较低版本的bc*******库(1.49),当我使用最新版本的itext库(5.5.13.1)时,我使用最新版本的bc*******库(1.66)@AmedeeVanGasse好的,让我用您提供的版本进行测试library@AmedeeVanGasse非常感谢你。。它现在工作正常