Wildfly 未排除模块

Module not excluded on Wildfly

我们想从我们的 Web 应用程序部署(WAR 文件)中排除 modules\system\layers\base\javax\servlet\jstl\api\main\jboss-jstl-api_1.2_spec-1.1.2.Final.jar

因此我们在src\main\webapp\WEB-INF\jboss-deployment-structure.xml中有如下配置:

<?xml version='1.0' encoding='UTF-8'?>
<jboss-deployment-structure xmlns="urn:jboss:deployment-structure:1.2">
    <deployment>
        <exclusions>
            <module name="javax.servlet.jstl.api"/>
        </exclusions>
        <dependencies>
            <module name="deployment.my-dependencies.jar"/>
        </dependencies>
    </deployment>
</jboss-deployment-structure>

在 Wildfly 日志中,我看到 my-dependencies.jar 添加为 ModuleDependency。但是在搜索 javax.servlet.jstl.api 时,我只看到了这个:

2015-04-03 15:22:11,971 DEBUG [org.jboss.modules] (ServerService Thread Pool -- 12) Module javax.servlet.jstl.api:main defined by local module loader @1f7c9157 (finder: local module finder @2b29f6e7 (roots: C:\Users\me\Documents\wildfly-8.2.0.Final\modules,C:\Users\me\Documents\wildfly-8.2.0.Final\modules\system\layers\base))

为什么模块没有被排除?

更新:似乎不能排除属于用户依赖项的模块。


似乎该机制并不像 Wildfly documentation 中描述的那样起作用。我无法排除该模块。

是的。我试图将 Spring Framework 升级到 v4.3。它提高了一些最低依赖要求。一个这样的例子是 Jackson 所需的最低版本是 2.6+

Wildfly 加载打包好的 jackson(Wildfly 8.2.1 中的 v2.4.1),并且不会使用 jboss-deployment-structure.xml 排除它。 我试图查看升级是否不涉及对已安装的服务器进行更改,从而使此升级脱离源代码控制。