如何告诉JBoss 4.2.3.GA首先在我的war文件lib目录中加载jar?

我部署了一个web存档,该war引用了一个与$ JBOSS_HOME / server / default / lib中的jar文件冲突的jar文件。 我可以手动删除有问题的jar子,但我更喜欢一种允许我在JBoss上指定jar子的解决方案。 我甚至想告诉JBoss排除特定的jar子,如果可能的话。

我最接近的是在我的war的META-INF目录中的jboss-web.xml中添加一些东西,但我显然没有在那里做某事。 这是我到目前为止:

   com.amce:archive=WHATEVER java2ParentDelegation=false   

这失败了,出现这样的错误:

 ERROR [13]] Exception sending context initialized event to listener instance of class org.jboss.web.jsf.integration.config.JBossJSFConfigureListener java.lang.ClassCastException: org.apache.xerces.jaxp.SAXParserFactoryImpl cannot be cast to javax.xml.parsers.SAXParserFactory at javax.xml.parsers.SAXParserFactory.newInstance(SAXParserFactory.java:128) at com.sun.faces.config.ConfigureListener$WebXmlProcessor.getConfiguredFactory(ConfigureListener.java:697) at com.sun.faces.config.ConfigureListener$WebXmlProcessor.scanForFacesServlet(ConfigureListener.java:669) ... 

这个错误让我相信我只是错误地指定了jboss-web语法(某处有xml架构)? 但是,我甚至不确定自己是否正走在正确的道路上。 无论如何我还能在不修改JBoss的情况下做到这一点吗?

java2ParentDelegation = false 。 请阅读此处了解更多详情。

Java EE类加载细节: Java EE类加载标准

jboss-web.xml属于您的应用程序的WEB-INF目录,而不是META-INF。 你的xml文件看起来是正确的,我把它比作我已经部署到Jboss-4.x的WAR