如何使用fop和java-11设置maven项目?

问题描述 投票:2回答:3

当我使用Apache fop和Java 11设置maven项目时,我会收到警告和带有maven-compiler-plugin 3.8.0的NullPointerException

使用的原型在Java 11中运行良好,可以快速创建桌面应用程序,但前提是我没有将依赖项添加到fop-2.3。 (我也想知道在mvn测试中相同的Java代码是如何工作的,但是在添加fop依赖项时会失败。)

加入

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

到pom.xml并运行mvn测试导致

[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。

java maven maven-3 apache-fop java-11
3个回答
0
投票

如果使用fop 2.4.0-SNAPSHOT的主干,则nullpointer问题会消失。回到2.3会再次给出nullpointer。

请注意,对于fop,只是将依赖项添加到pom.xml中。它尚未在java源代码中使用。

警告仍然存在。


0
投票

你有没有尝试过

 <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
投票

我开始使用FOP 2.3建立一个项目;我使用了一个module-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

© www.soinside.com 2019 - 2024. All rights reserved.