为什么我在 pdfXFA 示例中收到 NoClassDefFoundError?

Why am I getting a NoClassDefFoundError in the pdfXFA example?

尝试从此处找到的示例:https://itextpdf.com/en/products/itext-7/pdfxfa

public static void main() {
        XFAFlattenerProperties flattenerProperties = new XFAFlattenerProperties()
                .setPdfVersion(XFAFlattenerProperties.PDF_1_7)
                .createXmpMetaData()
                .setTagged()
                .setMetaData(
                        new MetaData()
                            .setAuthor("iText Samples")
                            .setLanguage("EN")
                            .setSubject("Showing off our flattening skills")
                            .setTitle("Flattened XFA"));

        XFAFlattener xfaf = new XFAFlattener()
                .setFlattenerProperties(flattenerProperties);


        xfaf.flatten(new FileInputStream("xfaform.pdf"), new FileOutputStream("flat.pdf"));
}

并获得 java.lang.NoClassDefFoundError: org.mozilla.javascript.ScriptableObject 当试图做 XFAFlattener xfaf = new XFAFlattener();

未使用 Maven 或 POM。我在类路径中有以下 JAR:

我错过了什么吗?

您需要 org.mozilla:rhino:1.7R4 依赖项:https://mvnrepository.com/artifact/org.mozilla/rhino/1.7R4

但是正如@Harry Coder 提到的,您应该使用 Maven 或 Gradle 或任何其他兼容 Maven 的构建系统,它们会自动为您下载所有依赖项,包括可传递的依赖项