今天调试的时候遇到一个错误,往Jboss的deploy目录扔war包的时候,报了一个“Failed to create a new SAX parser”的错误。在网上找了找解决方案,一般都说将项目中的xerces-2.6.2.jar和xml-apis.jar包删掉即可,但是我试了试删了还是不行,因为在打包的时候Maven还是会将它们打进你的war包。

首先,我的项目中用到了dwr,dwr默认依赖这两个包,因此pom文件会在你引入dwr的时候关联这两个包,所以你只是从项目的lib库里删除掉是没用的,因为在打包的时候,Maven还是会根据pom文件里的依赖关系把它们打进去。解决的办法很简单,步骤如下:

1、打开pom文件,点击“Dependency Hierarchy”选项卡;
2、在上面的框里分别输入刚才的两个包名;
3、右击相应的包,选择“Exclude Maven artifactId”选项。

见下图:

之后pom文件会在对dwr的引用中多几行代码:

<exclusions>
  <exclusion>
    <artifactId>xercesImpl</artifactId>
    <groupId>xerces</groupId>
  </exclusion>
  <exclusion>
    <artifactId>xml-apis</artifactId>
    <groupId>xml-apis</groupId>
  </exclusion>
</exclusions>

意思就是去除了对上面两个jar的依赖。然后打包,部署,又见到了可爱的successfully。问题解决了,又可以愉快的写代码去了,哦也!

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

01-27 06:56