Java 使用Maven for第三方库的依赖项冲突

Java 使用Maven for第三方库的依赖项冲突,java,maven,dom,dependencies,xerces,Java,Maven,Dom,Dependencies,Xerces,我在我的项目中使用Maven,我有一个使用Xerces的第三方库。在我的项目中,还有一些其他Maven模块,它们的依赖关系中包含一些其他XML库。 所以我的问题是,当我在依赖maven项目中使用这个第三方库时,它工作得很好。当我在项目的maven模块中使用它时,它会生成一些异常 org.w3c.dom.ls.LSException: unknown protocol: c at com.sun.org.apache.xml.internal.serialize.DOMSerializer

我在我的项目中使用Maven,我有一个使用Xerces的第三方库。在我的项目中,还有一些其他Maven模块,它们的依赖关系中包含一些其他XML库。 所以我的问题是,当我在依赖maven项目中使用这个第三方库时,它工作得很好。当我在项目的maven模块中使用它时,它会生成一些异常

org.w3c.dom.ls.LSException: unknown protocol: c
    at com.sun.org.apache.xml.internal.serialize.DOMSerializerImpl.writeToURI(DOMSerializerImpl.java:1010)
    at generators.Generator.setConf(Generator.java:1567)
当我调试这两个项目时,我注意到在第二个项目中,它实例化了
DOMSerializerImpl
类表单
com.sun.org.apache.xml.internal.serialize
package,在第一个项目中使用
org.apache.xml.serialize
package。尽管在这两个项目的我的pom文件中指定了相同的依赖项

此参与方库的依赖项包括:

    <dependency>
        <groupId>xml-resolver</groupId>
        <artifactId>xml-resolver</artifactId>
        <version>1.2</version>
    </dependency>
    <dependency>
        <groupId>xalan</groupId>
        <artifactId>serializer</artifactId>
        <version>2.7.1</version>
    </dependency>
    <dependency>
        <groupId>xerces</groupId>
        <artifactId>xercesImpl</artifactId>
        <version>2.11.0</version>
    </dependency>
    <dependency>
        <groupId>xerces</groupId>
        <artifactId>xercesSamples</artifactId>
        <version>2.2.1</version>
    </dependency>
    <dependency>
        <groupId>xml-apis</groupId>
        <artifactId>xml-apis</artifactId>
        <version>1.4.01</version>
    </dependency>

xml解析器
xml解析器
1.2
沙兰
序列化程序
2.7.1
薛西斯
干细胞移植
2.11.0
薛西斯
干采样
2.2.1
xml API
xml API
1.4.01

有人能帮我吗?

如果只使用内置的Xerces库会发生什么?我的项目中不使用Xerces,但我依赖的是这个库。而且,如果我只使用它和它们的依赖项(包括Xerces)创建一个项目,那么执行过程将毫无例外地通过。如果您的第三方库是用maven构建的,那么它应该拉入它需要的依赖项。如果它还没有做到这一点,你需要找出它期望的确切版本。你能提供更多关于项目pom中包含的版本的信息吗?您包含的列表来自第三方pom,这很有帮助,但也需要pom的详细信息。请尝试执行“mvn帮助:有效pom”,并查看其中的依赖项。有什么奇怪的吗?另外,“mvn依赖关系:树”有助于找出内容的来源(我想你知道类所处的jar吗?)。通常,最接近模块的依赖项获胜。依赖性:树目标通常会告诉你选择哪一个对另一个有利。