我在我的项目中使用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
包,并在第一个包中使用org.apache.xml.serialize
包。尽管在我的两个项目的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>
任何人都可以帮助我吗?