You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

WildFly 17服务器提供的Maven依赖及pom.xml provided配置咨询

如何确定WildFly 17中需要设为provided的依赖

我刚用WildFly的时候也碰到过这个问题,确实官方文档在这一块的指引不够直接,不过有几个实用的方法可以帮你搞定:

1. 引入WildFly官方BOM(最省心的方式)

WildFly提供了自己的Maven BOM(物料清单),它已经帮你管理好了所有服务器自带依赖的版本,你只需要在pom.xml的dependencyManagement中导入这个BOM,之后添加依赖时就不用手动指定版本,直接设为provided即可。

比如导入Java EE 7版本的BOM(WildFly 17对应Java EE 7):

<dependencyManagement>
    <dependencies>
        <dependency>
            <groupId>org.wildfly.bom</groupId>
            <artifactId>wildfly-javaee7-with-tools</artifactId>
            <version>17.0.1.Final</version>
            <type>pom</type>
            <scope>import</scope>
        </dependency>
    </dependencies>
</dependencyManagement>

之后,像Servlet API、JSP API这类服务器提供的依赖,就可以这么写:

<dependency>
    <groupId>javax.servlet</groupId>
    <artifactId>javax.servlet-api</artifactId>
    <scope>provided</scope>
</dependency>

BOM会自动帮你匹配WildFly 17中对应的版本,避免版本冲突。

2. 直接查看WildFly的modules目录

WildFly所有自带的依赖都放在$WILDFLY_HOME/modules/system/layers/base目录下,每个模块都有自己的module.xml文件,里面记录了该依赖的坐标和版本。

举个例子:

  • 进入$WILDFLY_HOME/modules/system/layers/base/javax/servlet/api/main
  • 打开module.xml,你会看到类似这样的内容:
<resources>
    <resource-root path="javax.servlet-api-3.1.0.jar"/>
</resources>

这就对应Maven依赖的groupId:javax.servlet、artifactId:javax.servlet-api、version:3.1.0,直接把这个依赖设为provided即可。

你可以根据自己项目用到的技术(比如JPA、EJB、JSF等),找到对应的模块目录,提取依赖信息。

3. 使用Maven依赖分析工具辅助检测

如果你已经添加了一些依赖,可以用Maven的dependency:analyze命令来帮你排查哪些依赖已经由WildFly提供,不需要打包到WAR/JAR中。

在项目根目录执行:

mvn dependency:analyze

执行完成后,控制台会输出类似Used undeclared dependencies和Unused declared dependencies的提示,结合WildFly提供的模块信息,你可以把那些服务器已经自带的依赖标记为provided。

补充说明

你示例中的javaee-web-api:7.0设为provided是完全正确的,因为WildFly 17完整支持Java EE 7规范,这个API包涵盖了Web层所需的大部分核心API。如果你的项目只用到Web层功能,这个依赖足够覆盖大部分场景;如果需要更细粒度的控制(比如单独引入EJB或JPA的API),再用前面的方法单独添加对应依赖即可。

内容的提问来源于stack exchange,提问作者magran x

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.14 07:14:48