【问题标题】:Exclude all modules from Wildfly 10从 Wildfly 10 中排除所有模块
【发布时间】:2020-09-27 16:51:26
【问题描述】:

我正在尝试将我的 Spring-boot 应用程序部署到 wildlfy 服务器。 但是,我发现库之间存在一些冲突。 所以,我希望我的应用程序只使用我在 pom 上定义的内容,并完全忽略所有 Wildfly 模块。 有可能吗?

使用 Wildfly 10 和 spring-boot 2.x

【问题讨论】:

  • 什么冲突?
  • 你想在没有 JBoss(WildFly) 模块的情况下运行你的 spring-boot 应用程序吗?
  • @nikolas 我不能确定有哪些冲突。这就是为什么我要删除所有模块。
  • @NafazBenzema 是的,就是这样。
  • 你找到其他方法了吗?我不知道这是可能的。

标签: spring-boot wildfly


【解决方案1】:

模块

是的,这是可能的。根据RedHat docs, §3.4,并根据我已经测试过几次的实践:您可以防止模块被隐式加载。为此:

  1. 创建(如果尚不存在)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>
    
  2. 将此 (jboss-deployment-structure.xml) 文件添加到项目中(对于 Web 应用程序 (WAR),将此文件添加到 WEB-INF 目录。对于 EJB 存档 (JAR)将其添加到 META-INF 目录)。

子系统

另一方面,EAR 文件(模块)很可能包含子系统,例如 WARJAR 文件。您也可以仅从模块中排除子系统。为此,请将此 sn-p 包含在同一 (jboss-deployment-structure.xml) 文件中:

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

【讨论】:

  • @renanleandrof 如果对您有帮助,请告诉我。
  • 它有所帮助,但我已经知道了。我没有的信息是我应该放在那里的模块或子模块的完整列表,以便删除所有模块。 =/
  • @1553537 你知道我在哪里可以找到所有要禁用的子模块的列表吗?
  • @renanleandrof 还有一种方法可以看到这一点.. 你在本地有你的服务器吗?如果是本地的,你应该查看modules 目录。
猜你喜欢
  • 1970-01-01
  • 2018-08-31
  • 2017-01-25
  • 1970-01-01
  • 1970-01-01
  • 2017-07-08
  • 2018-10-26
  • 2018-11-28
  • 1970-01-01
相关资源
最近更新 更多