我有一个需要以下Maven jibx插件的项目:
<build>
<plugins>
<plugin>
<groupId>org.jibx</groupId>
<artifactId>maven-jibx-plugin</artifactId>
<version>1.2.2</version>
...
</plugin>
</plugins>
</build>
Run Code Online (Sandbox Code Playgroud)
在jibx插件pom中,有一个xpp3依赖项,我想从我的项目构建过程中排除(由于某种原因我不能在我的私有存储库中).
有没有办法配置我的pom.xml(不是插件pom)来排除这种依赖?
编辑:我试图从插件pom中删除xpp3依赖项,项目可以成功构建,所以我知道依赖项不是必需的.
我有一些遗留代码(或者更确切地说是一些我们无法控制但我们必须使用的代码),它们将大量语句写入system.out/err.
与此同时,我们正在使用一个框架,该框架使用围绕log4j的自定义日志记录系统(再次,遗憾的是我们无法控制它).
所以我正在尝试将out和err流重定向到将使用日志记录系统的自定义PrintStream.我正在阅读有关System.setLog()和System.setErr()方法的问题,但问题是我需要编写自己的PrintStream类来包装正在使用的日志系统.那将是一个巨大的麻烦.
有没有一种简单的方法来实现这一目标?
将 Apache POI 从 3.17 更新到 4.0.0 后,我上线了:
OPCPackage pck = OPCPackage.open(this.getTemplate());
一个例外:
java.lang.IllegalArgumentException: Property 'http://www.oracle.com/xml/jaxp/properties/entityExpansionLimit' is not recognized.
at org.apache.xerces.jaxp.DocumentBuilderFactoryImpl.setAttribute(DocumentBuilderFactoryImpl.java:144)
at __redirected.__DocumentBuilderFactory.setAttribute(__DocumentBuilderFactory.java:125)
at org.apache.poi.ooxml.util.DocumentHelper.trySetXercesSecurityManager(DocumentHelper.java:143)
at org.apache.poi.ooxml.util.DocumentHelper.<clinit>(DocumentHelper.java:108)
at org.apache.poi.openxml4j.opc.internal.ContentTypeManager.parseContentTypesFile(ContentTypeManager.java:392)
at org.apache.poi.openxml4j.opc.internal.ContentTypeManager.<init>(ContentTypeManager.java:104)
at org.apache.poi.openxml4j.opc.internal.ZipContentTypeManager.<init>(ZipContentTypeManager.java:54)
at org.apache.poi.openxml4j.opc.ZipPackage.getPartsImpl(ZipPackage.java:258)
at org.apache.poi.openxml4j.opc.OPCPackage.getParts(OPCPackage.java:725)
at org.apache.poi.openxml4j.opc.OPCPackage.open(OPCPackage.java:275)
at org.apache.poi.openxml4j.opc.OPCPackage.open(OPCPackage.java:181)
Run Code Online (Sandbox Code Playgroud)
他们在如何使用 logback 禁用 accessExternalDTD 和 entityExpansionLimit 警告中说,我应该排除 xerces,但我已经有了:
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
<version>4.0.0</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>4.0.0</version>
<exclusions>
<exclusion>
<groupId>xml-apis</groupId>
<artifactId>xml-apis</artifactId>
</exclusion>
<exclusion>
<groupId>xerces</groupId>
<artifactId>xercesImpl</artifactId>
</exclusion>
</exclusions>
</dependency>
Run Code Online (Sandbox Code Playgroud)
我的设置:
回到 3.17 解决了这个问题。