Почему я получаю NoClassDefFoundError в примере pdfXFA? - PullRequest
0 голосов
/ 28 марта 2020

Попытка примера, найденного здесь: 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 или ПОМ. У меня есть следующие JAR-файлы в classpath:

  • 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

Я что-то пропустил?

1 Ответ

1 голос
/ 28 марта 2020

Вам нужна org.mozilla:rhino:1.7R4 зависимость: https://mvnrepository.com/artifact/org.mozilla/rhino/1.7R4

Но, как упоминал @Harry Coder, вы должны использовать Maven или Gradle или любую другую совместимую с Maven систему сборки, которая загрузит все зависимости, включая переходные, автоматически для вас

...