java.lang.NoClassDefFoundError:org/弹跳城堡/asn1/ASN1可编码

jm2pwxwz  于 2023-02-02  发布在  Java
关注(0)|答案(4)|浏览(398)

我使用iText 5.5.0和BouncyCastle bcprov-jdk15on-1.50对PDF进行数字签名。如果我在MakeSignature.signDetached方法中不包括时间戳,它就可以正常工作。
当我使用TSAClient指定TSAURL时,我的代码给出错误

java.lang.NoClassDefFoundError: org/bouncycastle/asn1/ASN1Encodable at MakeSignature.signDetached method

即使我处理了异常程序也会被终止。
我尝试了不同版本的bouncycastle罐,但我得到了相同的错误与差异的类没有找到。
我真的需要在签名中包含时间戳。我应该怎么做?

uz75evzq

uz75evzq1#

您可以在以下URL检查itext 5.5的依赖项。
http://mvnrepository.com/artifact/com.itextpdf/itextpdf/5.5.0
根据这个页面,itext 5.5的对应版本是1.49。我在互联网上的某个页面上读到,bouncycastle正在发生重大变化,通常很难找到特定版本的itext的对应版本。

cyej8jka

cyej8jka2#

请从下面的给定链接下载bcprov-jdk 15 on-150.jar(适用于JDK 1.5 - 1.7)文件,并添加到您的项目中以解决java.lang.NoClassDefFoundError:org/弹跳城堡/asn 1/ASN 1可编码异常。
http://www.bouncycastle.org/latest_releases.html
根据您的JDK版本,从上面的链接中找到合适的jar文件。

krcsximq

krcsximq3#

在你的项目中包含iText的推荐方法是使用Maven。Maven会为你解决依赖关系。我读到你使用Eclipse,Eclipse有一个非常好的Maven插件。
把这个放进你的pom.xml里:

<dependency>
  <groupId>com.itextpdf</groupId>
  <artifactId>itextpdf</artifactId>
  <version>5.5.8</version>
</dependency>

更多信息请访问http://developers.itextpdf.com/itext-java

kiz8lqtg

kiz8lqtg4#

从.m2中删除文件夹bouncycastle(org/bouncycastle),并运行mvn clean compile来下载依赖项

相关问题