java.lang.NoClassDefFoundError:org.bouncycastle.asn1.ASN1Encodable

问题描述 投票:0回答:2

我正在使用 itextpdf-5.5.6.jar 和 bcprov-jdk15on-1.60.jar,但出现异常: java.lang.NoClassDefFoundError:org.bouncycastle.asn1.ASN1Encodable at com.itextpdf.text.pdf.PdfEncryption

如何解决?

java itext
2个回答
0
投票

itext POM 将 bouncycastle 标记为可选

<dependency>
<groupId>org.bouncycastle</groupId>
<artifactId>bcprov-jdk15on</artifactId>
<version>1.49</version>
<type>jar</type>
<scope>compile</scope>
<optional>true</optional>
</dependency>

因此您必须在项目 POM 中包含 bouncycastle 以确保它可用。

请注意,itext5.5.6 推荐使用 bouncycastle 1.49


0
投票
请从下面给定的链接下载 bcprov-jdk15on-150.jar(适用于 JDK 1.5 - 1.7)文件并添加到您的项目中以解决 java.lang.NoClassDefFoundError: org/bouncycastle/asn1/ASN1Encodable 异常。

http://www.bouncycastle.org/latest_releases.html

根据您的JDK版本从上面的链接中找到合适的jar文件。

另一种方式:

您可以通过以下网址检查itext 5.5的依赖关系。

http://mvnrepository.com/artifact/com.itextpdf/itextpdf/5.5.0

根据此页面,itext 5.5 对应的 bouncycastle 版本是 1.49。我在互联网上的某个页面上读到,bouncycastle 正在发生重大变化,并且通常很难找到特定版本的 itext 的相应版本的 bouncycastle。

© www.soinside.com 2019 - 2024. All rights reserved.