排除wildfly 10中的所有模块

rjjhvcjd  于 2021-07-26  发布在  Java
关注(0)|答案(1)|浏览(401)

我正在尝试将我的spring boot应用程序部署到一个wildlfy服务器上。但是,我发现libs之间存在一些冲突。所以,我希望我的应用程序只使用我在pom上定义的内容,而完全忽略所有的wildfly模块。有可能吗?
使用wildfly 10和spring boot 2.x

xxslljrj

xxslljrj1#

模块

是的,这是可能的。根据 RedHat docs , §3.4,并且根据我已经测试过几次的实践:您可以防止隐式加载模块。为此:
创建(如果尚未存在) jboss-deployment-structure.xml 文件并将其添加到该文件中:

<jboss-deployment-structure>
    <deployment>
       <exclusions>
          <module name="org.javassist" />
          <module name="org.dom4j" />
          <module name="org.apache.commons.configuration" />
          <!--and so on.. -->
       </exclusions>
    </deployment>
 </jboss-deployment-structure>

将此(jboss deployment structure.xml)文件添加到项目(对于web应用程序(war))将此文件添加到web inf目录。对于ejb归档(jar),将其添加到meta-inf目录中)。

子系统

另一方面, EAR 文件(模块)很可能包含子系统,如 WAR 以及 JAR 文件夹。您也可以仅从模块中排除子系统。为此,请将此代码段包含在同一个(jboss deployment structure.xml)文件中:

<exclude-subsystems>
  <subsystem name="SUBSYSTEM_NAME" />
</exclude-subsystems>

相关问题