相关疑难解决方法(0)

如何在Maven插件中排除依赖?

我有一个需要以下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依赖项,项目可以成功构建,所以我知道依赖项不是必需的.

dependencies maven-2

43
推荐指数
1
解决办法
8万
查看次数

重定向System.out和System.err

我有一些遗留代码(或者更确切地说是一些我们无法控制但我们必须使用的代码),它们将大量语句写入system.out/err.

与此同时,我们正在使用一个框架,该框架使用围绕log4j的自定义日志记录系统(再次,遗憾的是我们无法控制它).

所以我正在尝试将out和err流重定向到将使用日志记录系统的自定义PrintStream.我正在阅读有关System.setLog()System.setErr()方法的问题,但问题是我需要编写自己的PrintStream类来包装正在使用的日志系统.那将是一个巨大的麻烦.

有没有一种简单的方法来实现这一目标?

java logging log4j

13
推荐指数
3
解决办法
2万
查看次数

更新 Apache POI 4.0 后 - 无法识别属性“http://www.oracle.com/xml/jaxp/properties/entityExpansionLimit”

将 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)

我的设置:

  • JDK 8
  • 野蝇 14

回到 3.17 解决了这个问题。

java exception xerces apache-poi

1
推荐指数
1
解决办法
2801
查看次数

标签 统计

java ×2

apache-poi ×1

dependencies ×1

exception ×1

log4j ×1

logging ×1

maven-2 ×1

xerces ×1