当我使用Apache、、fop、和Java 11设置一个maven项目时,我会得到警告,还有一个带有maven编译器-plugin3.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]我想知道是否存在使用fop依赖项并为Java11编译的pom.xml。
发布于 2019-03-04 12:05:04
如果使用fop2.4.0-快照的主干,则空指针问题就会消失。返回到2.3将再次给出空指针。
注意,对于fop,只有依赖项已经添加到pom.xml中。它尚未在java源代码中使用。
警告依然存在。
发布于 2019-04-03 15:28:05
你试过吗
<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>发布于 2019-06-03 06:12:20
我开始使用FOP 2.3建立一个项目;我使用了一个模块info.java,包含:
requires fop;
requires avalon.framework.api;
requires avalon.framework.impl;然而,由于avalon分裂包,我最终不得不推迟。
当FOP2.4发布时,这个特殊的问题就消失了:https://github.com/apache/fop/commit/bd7d5048785c691e6e3e152af10805f3127b760d
我之前通过自己模块化来解决的Xalan问题:- Docx4j
https://stackoverflow.com/questions/54660441
复制相似问题