如何在Jboss 5.1 lib / endorsed目录中覆盖jar?

时间:2012-05-11 15:57:07

标签: java jboss jboss5.x ear xalan

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

我读过这样的文章:http://www.openscope.net/2010/07/15/setting-up-a-jboss-instance-v5-x-class-loading/

我已经将一个jboss-app.xml文件添加到我的meta-inf目录中,该目录已经打包到我的耳中。以下是我在那里停留的内容:

<?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>

当我的代码到位时,我的耳朵没有加载到jboss中。我看到它找到耳朵,然后只是移动到其他耳朵而不加载它。我打开了调试日志记录,没有看到一个错误或提到它为什么没有加载。

为什么我的耳朵不会被装上?

1 个答案:

答案 0 :(得分:0)

我建议你同步你的Xalan / Serialize / Xerces和JBoss的版本。 首先,尝试用新的替换JBoss,也许它会起作用。另一种方法是,考虑将JBoss升级到将使用最新Xalan / Serialize / Xerces的新版本。更改类加载过程的行为将向您介绍新问题,AFAIC。