如何禁用特定WAR或EAR的应用服务器嵌入式库(jar)?

Zuz*_*zEL 1 java jboss tomcat glassfish java-ee

有时您可能third party libraries在项目中有一个可能导致与您发生冲突的问题server-embedded jars.从应用程序服务器中删除嵌入式jar lib folder可能会破坏其他已部署的应用

有没有办法在TomEE,JBoss,GlassFish中只为一个项目禁用服务器嵌入式jar ?

在此输入图像描述

cod*_*lhu 5

在JBoss中,您可以在WEB-INF目录中使用jboss-deployment-structure.xml描述符禁用容器管理的库.

<jboss-deployment-structure>
  <deployment>
    <!-- Exclusions allow you to prevent the server from automatically adding
      some dependencies -->
    <exclusions>
      <!-- This will cause the JBoss container to not provide your deployed 
         application's log4j dependencies. This way you can use an implementation 
         deployed with your artifact. -->
      <module name="org.apache.log4j" />
    </exclusions>
  </deployment>
</jboss-deployment-structure>
Run Code Online (Sandbox Code Playgroud)

可以在此处找到JBoss AS 7中的类加载文档.