升级至iText 8.0.4后初始化加密PDF文档时遭遇依赖报错
解决iText 8.0.4加密PDF时的BouncyCastle依赖错误
针对你遇到的问题——已添加bouncy-castle-adapter依赖仍触发加密报错,可按以下步骤排查解决:
1. 强制刷新Maven依赖
Maven缓存可能导致依赖未正确拉取或更新,执行以下命令清理缓存并重新安装依赖:
mvn clean install -U
2. 检查依赖树是否存在版本冲突
执行命令查看所有BouncyCastle相关依赖,确认版本统一:
mvn dependency:tree | grep bouncy
确保输出满足:
com.itextpdf:bouncy-castle-connector和com.itextpdf:bouncy-castle-adapter版本均为8.0.4org.bouncycastle:bcprov-jdk18on和org.bouncycastle:bcpkix-jdk18on版本均为1.78
若存在其他版本的依赖,需在冲突依赖中添加排除规则,例如:
<dependency> <!-- 存在冲突的第三方依赖 --> <groupId>xxx</groupId> <artifactId>xxx</artifactId> <exclusions> <exclusion> <groupId>com.itextpdf</groupId> <artifactId>bouncy-castle-adapter</artifactId> </exclusion> <exclusion> <groupId>org.bouncycastle</groupId> <artifactId>bcprov-jdk18on</artifactId> </exclusion> </exclusions> </dependency>
3. 显式声明bouncy-castle-connector依赖
虽然kernel模块会间接引入该依赖,但显式声明可避免依赖传递异常:
<dependency> <groupId>com.itextpdf</groupId> <artifactId>bouncy-castle-connector</artifactId> <version>8.0.4</version> </dependency>
4. 验证类路径完整性
确认运行测试时,bouncy-castle-adapter-8.0.4.jar、bcprov-jdk18on-1.78.jar、bcpkix-jdk18on-1.78.jar均在类路径中。若使用IDE,可通过「项目结构」或「依赖管理」面板检查。
完成以上步骤后,重新运行测试即可解决加密PDF时的依赖错误。
内容的提问来源于stack exchange,提问作者Amit Walvekar
相关产品推荐
相关产品推荐

