Java 如何覆盖Jboss 5.1 lib/approved目录中的jar?

Java 如何覆盖Jboss 5.1 lib/approved目录中的jar?,java,jboss,jboss5.x,ear,xalan,Java,Jboss,Jboss5.x,Ear,Xalan,我们需要在ear中运行最新版本的Xalan/Serialize/Xerces jar文件。当我们运行应用程序代码并随后获得java.lang.NoSuchMethodError时,首先加载Jboss的5.1lib/approved目录中的版本 我读过这样的文章: 我已经在meta inf目录中添加了一个jboss-app.xml文件,该文件已打包到我的ear中。以下是我一直坚持的观点: <?xml version="1.0" encoding="UTF-8"?> <!DOCTY

我们需要在ear中运行最新版本的Xalan/Serialize/Xerces jar文件。当我们运行应用程序代码并随后获得
java.lang.NoSuchMethodError
时,首先加载Jboss的5.1lib/approved目录中的版本

我读过这样的文章:

我已经在meta inf目录中添加了一个jboss-app.xml文件,该文件已打包到我的ear中。以下是我一直坚持的观点:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE jboss-app PUBLIC
        "-//JBoss//DTD Java EE Application 5.0//EN"
        "http://www.jboss.org/j2ee/dtd/jboss-app_5_0.dtd">
<jboss-app>  
  <loader-repository>  
  org.apache.xalan:archive=servicebroker-enterprise.ear
     <loader-repository-config>  
     java2ParentDelegation=false  
     </loader-repository-config>  
  </loader-repository>  
</jboss-app>

org.apache.xalan:archive=servicebroker-enterprise.ear
java2ParentDelegation=false
当我准备好代码时,我的Ear不会加载到jboss中。我看到它找到了耳朵,然后移动到其他耳朵上而不加载它。我打开了调试日志,没有看到任何错误,也没有提到为什么没有加载它


为什么我的耳朵不装子弹

我建议您同步您的Xalan/Serialize/Xerces和JBoss的版本。
首先,试着用新的JBoss替换JBoss,也许它能工作。另一种方法是,将JBASS升级到使用最新Xala/Serial/XeRCES的新版本。改变类加载过程的行为会给您带来新的问题,AFAIC。

是的,这些都是我们尝试过的选项。只需将新的xalan、serialize、xerces库转储到jboss中,就会导致jboss无法运行。:)更改类加载过程通常会在加载jax-ws-webservices时引入其他问题。总的来说,这是一个糟糕的情况。。。