当前位置: 首页 > 面试题库 >

TransformerFactory与Xalan依赖冲突

陆高峰
2023-03-14
问题内容

我有以下代码:

javax.xml.transform.TransformerFactory factory = TransformerFactory.newInstance();
factory.setAttribute(XMLConstants.ACCESS_EXTERNAL_DTD, "");
javax.xml.transform.Transformer transformer = factory.newTransformer();

这正常工作。但是,我还需要在pom.xml中添加Xalan作为依赖项,当我这样做时,上面的代码现在会引发错误:

java.lang.IllegalArgumentException: Not supported: http://javax.xml.XMLConstants/property/accessExternalDTD

我认为这与Xalan的jar中有一个不同的Transformer实现有关。在不更改上述代码并将Xalan保留为依赖关系的情况下,如何解决此冲突?


问题答案:

从Xalan中排除Xerces可以解决此问题:

<dependency>
    <groupId>xalan</groupId>
    <artifactId>xalan</artifactId>
    <version>2.7.2</version>
    <exclusions>
        <exclusion>
            <groupId>xerces</groupId>
            <artifactId>xercesImpl</artifactId>
        </exclusion>
    </exclusions>
</dependency>


 类似资料:
  • 我有以下代码: 这正常工作。但是,我还需要将Xalan作为依赖项添加到pom.xml中,当我这样做时,上面的代码会抛出一个错误:

  • 由一些模块组成的maven项目。我的一个模块正在使用google版本的guava依赖项。现在,我正在我的项目中集成另一个模块,该模块也使用guava但版本。 因此,我希望新模块使用guava版本,而其余项目使用guava版本。我尝试将guava的添加到新模块中,但没有成功。 更新:@Guillaume Darmont的答案为不同的模块解决了问题。但现在我的问题是,新模块有两个依赖项,其中一个使用g

  • 错误为:java.security.NoSuchProviderException:JCE无法验证提供程序BC。注意,我已经添加了这段代码:security.addProvider(new BouncyCastleProvider()); 这在使用spring boot embedded tomcat时可以很好地工作,但在导出到运行在wildfly服务器上的war文件时就不行了。 下面是我如何宣布

  • 因为Flatter\u math\u fork 获取:^4.6.1获取存储:2.0.3 dio:^4.0.4 dio\u http\u缓存:0.3.0 webview_flutter:^2.8.0flutter_html:^2.0.0url_launcher:^6.0.17 firebase\u消息:^11.2.4 cloud\u firestore:^3.1.5 firebase\u认证:^3.

  • 我试图向spark提交一个jar,但我的jar包含与spark内置jar(snakeyml和其他)冲突的依赖项。 我使用以下命令提交: 但我还是有同样的例外

  • 我试了好几个小时想找到解决办法,但没有找到。我的问题是,当我建立我的梯度时,我得到了两个错误。我试图在我的Android应用程序中查看这个解决方案依赖冲突错误,该应用程序进行了Android测试,但仍然无法解决这个问题。 这是我的建筑。格雷德尔 我该怎么解决这个?