4

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

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

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

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

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

  1. 根据JBoss 5.1 发行说明-与现有配置的主要区别在于默认启用按值调用和部署隔离。因此,我真的需要隐式地将我的应用程序隔离吗?
  2. 我认为隔离主要是在同一个应用服务器运行多个相互冲突的应用程序时需要的。就我而言,我试图只运行一个应用程序。那么再次需要隔离吗?
  3. 如果上述问题的答案是肯定的并且我需要强制隔离 - 我该如何配置它?假设我的战争文件被称为“foo”。我是否必须在 jboss-web.xml 中插入以下部分:
<jboss-web> 
  <loader-repository>
 tld.mydomain:loader=foo.war
 </loader-repository>
</jboss-web>
4

2 回答 2

6

好的,显然解决方案是从我的 web-inf/lib 中删除 xerces.jar

由于一些错误,隔离将不起作用。看这里

于 2010-01-07T11:16:17.277 回答
1

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

于 2011-02-01T12:08:03.287 回答