我正在尝试将我的spring boot应用程序部署到一个wildlfy服务器上。但是,我发现libs之间存在一些冲突。所以,我希望我的应用程序只使用我在pom上定义的内容,而完全忽略所有的wildfly模块。有可能吗?使用wildfly 10和spring boot 2.x
xxslljrj1#
是的,这是可能的。根据 RedHat docs , §3.4,并且根据我已经测试过几次的实践:您可以防止隐式加载模块。为此:创建(如果尚未存在) jboss-deployment-structure.xml 文件并将其添加到该文件中:
RedHat docs
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)文件中:
EAR
WAR
JAR
<exclude-subsystems> <subsystem name="SUBSYSTEM_NAME" /> </exclude-subsystems>
1条答案
按热度按时间xxslljrj1#
模块
是的,这是可能的。根据
RedHat docs
, §3.4,并且根据我已经测试过几次的实践:您可以防止隐式加载模块。为此:创建(如果尚未存在)
jboss-deployment-structure.xml
文件并将其添加到该文件中:将此(jboss deployment structure.xml)文件添加到项目(对于web应用程序(war))将此文件添加到web inf目录。对于ejb归档(jar),将其添加到meta-inf目录中)。
子系统
另一方面,
EAR
文件(模块)很可能包含子系统,如WAR
以及JAR
文件夹。您也可以仅从模块中排除子系统。为此,请将此代码段包含在同一个(jboss deployment structure.xml)文件中: