Как настроить проект maven, используя fop и java-11? - PullRequest
0 голосов
/ 13 февраля 2019

Когда я настраиваю maven проект с использованием Apache fop и Java 11 , я получаю предупреждения и NullPointerException с maven-compiler-plugin 3.8.0.

Используемый архетип прекрасно работает с Java 11 для быстрого создания настольного приложения, но только если я не добавляю зависимость в fop-2.3.(Мне также интересно, как это возможно, что тот же код Java работает нормально в mvn test , но завершается неудачно при добавлении зависимости fop.)

добавление

    <dependency>
        <groupId>org.apache.xmlgraphics</groupId>
        <artifactId>fop</artifactId>
        <version>2.3</version>
    </dependency>

вpom.xml и запуск с mvn test приводит к

[INFO] --- maven-compiler-plugin:3.8.0:compile (default-compile) @ checkXslt ---
[WARNING] Can't extract module name from batik-script-1.10.jar: Provider class org.apache.batik.bridge.RhinoInterpreterFactory not in module
[WARNING] Can't extract module name from xalan-2.7.2.jar: Provider class org.apache.bsf.BSFManager not in module

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.8.0:compile (default-compile) on project checkXslt: Execution default-compile of goal org.apache.maven.plugins:maven-compiler-plugin:3.8.0:compile failed. NullPointerException -> [Help 1]

Интересно, существует ли pom.xml, использующий зависимость fop и компилирующийся для Java 11.

Ответы [ 3 ]

0 голосов
/ 03 апреля 2019

вы пробовали

 <dependency>
            <groupId>org.apache.xmlgraphics</groupId>
            <artifactId>fop</artifactId>
            <version>2.3</version>
            <exclusions>
                <exclusion>
                  <groupId>xalan</groupId>
                  <artifactId>serializer</artifactId>          
                </exclusion>
                 <exclusion>
                  <groupId>xalan</groupId>
                  <artifactId>xalan</artifactId>          
                </exclusion>
              </exclusions> 
        </dependency>
0 голосов
/ 03 июня 2019

Я начал настраивать проект с использованием FOP 2.3;Я использовал модуль-info.java, содержащий:

requires fop;
requires avalon.framework.api;
requires avalon.framework.impl;

Однако, в конечном итоге, мне пришлось отложить, из-за пакетов расщепления avalon.

Эта конкретная проблема исчезнет, ​​когда выйдет FOP 2.4: https://github.com/apache/fop/commit/bd7d5048785c691e6e3e152af10805f3127b760d

Проблема Xalan, которую я рассмотрел ранее, модульно решив ее самостоятельно: - https://github.com/plutext/xalan-j/tree/Plutext_Java11_Repackaged_Docx4j

0 голосов
/ 04 марта 2019

Проблема с нулевым указателем исчезает при использовании ствола fop 2.4.0-SNAPSHOT.Возвращение к 2.3 снова дает нулевой указатель.

Обратите внимание, что для fop в pom.xml была добавлена ​​только зависимость.Он еще не использовался в исходном коде Java.

Предупреждения остаются.

...