[英]How to setup a maven project using fop and java-11?
當我使用Apache fop和Java 11設置maven項目時,會收到警告和帶有maven-compiler-plugin 3.8.0的NullPointerException
。
使用的原型可以與Java 11一起很好地工作,以快速創建桌面應用程序,但前提是我不將依賴項添加到fop-2.3中。 (我也想知道,相同的Java代碼在mvn測試中怎么可能正常工作,但是在添加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依賴項並針對Java 11進行編譯的pom.xml。
如果使用fop 2.4.0-SNAPSHOT的主干,則nullpointer問題消失了。 回到2.3再次給出了空指針。
請注意,對於fop,僅依賴項已添加到pom.xml。 Java源代碼中尚未使用它。
警告仍然存在。
你有沒有嘗試過
<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>
我開始使用FOP 2.3建立一個項目; 我使用了包含以下內容的module-info.java:
requires fop;
requires avalon.framework.api;
requires avalon.framework.impl;
但是,由於阿瓦隆分拆包裝,最終我不得不推遲。
當發布FOP 2.4時,該特定問題將消失: https : //github.com/apache/fop/commit/bd7d5048785c691e6e3e152af10805f3127b760d
我之前通過自身模塊化解決的Xalan問題:-https: //github.com/plutext/xalan-j/tree/Plutext_Java11_Repackaged_Docx4j
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.