【问题标题】:Exception in thread "main" java.lang.NoClassDefFoundError: org/bouncycastle/cms/Recipient线程“主”java.lang.NoClassDefFoundError 中的异常:org/bouncycastle/cms/Recipient
【发布时间】:2021-05-21 13:22:48
【问题描述】:
public class PDFEncryption {
    public static void main(String args[]) throws FileNotFoundException, DocumentException, IOException{
        
        String inputfile = "C:\\CC_Storage\\Workspaces\\PDFEncryption\\input\\statement_20171118.pdf";
        String outputfile = "C:\\CC_Storage\\Workspaces\\PDFEncryption\\output\\statement_20171118.pdf";
        
        PdfEncryptor.encrypt(
                new PdfReader(inputfile),
                new FileOutputStream(outputfile),
                null,
                "StrongPassword".getBytes(),
                PdfWriter.ALLOW_PRINTING,
                PdfWriter.STRENGTH128BITS);
        
    }
}

我正在尝试使用上面的代码加密 pdf,但遇到异常

Exception in thread "main" java.lang.NoClassDefFoundError: org/bouncycastle/cms/Recipient
    at PDFEncryption.main(PDFEncryption.java:16)
Caused by: java.lang.ClassNotFoundException: org.bouncycastle.cms.Recipient
    at java.net.URLClassLoader.findClass(URLClassLoader.java:382)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:418)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:355)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
    ... 1 more

有人可以帮我做什么吗?

【问题讨论】:

  • 您的类路径中有哪个 BouncyCastle 版本?

标签: java itext bouncycastle


【解决方案1】:

编译代码时缺少依赖的外部库 jar, 如果你是用命令行编译,那么使用下面的命令编译运行

javac -cp ".:./ext.jar" PDFEncryption.java 
java -cp ".:./ext.jar" PDFEncryption

查看this

如果您使用的是 Eclipse IDE,您可以通过右键单击项目 → 构建路径 → 配置构建路径来添加一个 jar。在 Libraries 选项卡下,单击 Add Jars 或 Add External JARs 并提供 Jar。

【讨论】:

  • jagadesh,我怎么知道我必须使用哪个版本的充气城堡罐?
  • @AmanGupta,您需要根据您的工作要求选择版本。您可以查看可用版本mvnrepository.com/search?q=bouncycastle
猜你喜欢
  • 1970-01-01
  • 2017-09-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-07-20
  • 2018-05-29
  • 2021-09-03
相关资源
最近更新 更多