为什么我在 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:
- io-7.1.10.jar
- kernel-7.1.10.jar
- layout-7.1.10.jar
- itext-licensekey-3.0.6.jar
- pdfrender-1.0.0.jar
- pdfxfa-2.0.5.jar
我错过了什么吗?
您需要 org.mozilla:rhino:1.7R4
依赖项:https://mvnrepository.com/artifact/org.mozilla/rhino/1.7R4
但是正如@Harry Coder 提到的,您应该使用 Maven 或 Gradle 或任何其他兼容 Maven 的构建系统,它们会自动为您下载所有依赖项,包括可传递的依赖项
尝试从此处找到的示例: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:
- io-7.1.10.jar
- kernel-7.1.10.jar
- layout-7.1.10.jar
- itext-licensekey-3.0.6.jar
- pdfrender-1.0.0.jar
- pdfxfa-2.0.5.jar
我错过了什么吗?
您需要 org.mozilla:rhino:1.7R4
依赖项:https://mvnrepository.com/artifact/org.mozilla/rhino/1.7R4
但是正如@Harry Coder 提到的,您应该使用 Maven 或 Gradle 或任何其他兼容 Maven 的构建系统,它们会自动为您下载所有依赖项,包括可传递的依赖项