从 Wildfly 10 中排除所有模块
Posted
技术标签:
【中文标题】从 Wildfly 10 中排除所有模块【英文标题】:Exclude all modules from 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 是的,就是这样。 你找到其他方法了吗?我不知道这是可能的。 【参考方案1】:模块
是的,这是可能的。根据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
文件。您也可以仅从模块中排除子系统。为此,请将此 sn-p 包含在同一 (jboss-deployment-structure.xml) 文件中:
<exclude-subsystems>
<subsystem name="SUBSYSTEM_NAME" />
</exclude-subsystems>
【讨论】:
@renanleandrof 如果对您有帮助,请告诉我。 它有所帮助,但我已经知道了。我没有的信息是我应该放在那里的模块或子模块的完整列表,以便删除所有模块。 =/ @1553537 你知道我在哪里可以找到所有要禁用的子模块的列表吗? @renanleandrof 还有一种方法可以看到这一点.. 你在本地有你的服务器吗?如果是本地的,你应该查看modules
目录。以上是关于从 Wildfly 10 中排除所有模块的主要内容,如果未能解决你的问题,请参考以下文章
如果我不使用某些模块,是不是必须将所有模块都包含在 wildfly10.1.0 Standalone.xml 中?
将 JMX Exporter 与 Wildfly 15 一起使用时出现 NoClassDefFoundError