迁移到JBoss 5.1 - 无法创建新的SAX解析器

时间:2010-01-07 08:56:00

标签: jboss migration classloader isolation

我正在尝试将我的应用程序(打包在.war文件中)部署在JBoss 4.2.3上正常运行到JBoss 5.1(使用java 5)。

目前在部署期间,我在server.log中看到错误:

  

...引起:   org.jboss.xb.binding.JBossXBRuntimeException:   无法创建新的SAX解析器

     

...   引起:   java.lang.ClassCastException:   org.apache.xerces.parsers.XML11Configuration

根据JBoss论坛中的这个thread,我需要隔离我的应用程序。 我的问题:

  1. 根据JBoss 5.1 Release Notes - 与现有配置的主要区别在于默认情况下启用了按值调用和部署隔离。因此我是否真的需要隐式设置我的应用程序被隔离?
  2. 我认为当同一个应用程序服务器运行多个相互冲突的应用程序时,主要需要隔离。在我的情况下,我试图只运行一个应用程序。那又需要隔离吗?
  3. 如果上述问题的答案是肯定的,我需要强制隔离 - 我该如何配置?假设我的war文件名为'foo'。我是否必须在jboss-web.xml中插入以下部分:
  4. <jboss-web> 
      <loader-repository>
     tld.mydomain:loader=foo.war
     </loader-repository>
    </jboss-web>
    

2 个答案:

答案 0 :(得分:5)

OK似乎解决方法是从我的web-inf / lib

中删除xerces.jar

由于某些错误,隔离将无法正常工作。见here

答案 1 :(得分:1)

无法创建新的sax解析器错误是由于WAR和EAR中可用的不需要的JAR文件(如果存在)。因此,通过删除那些不需要的JARS,此错误已被清除。