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

Eclipse中WildFly部署的Java War文件无法更新问题

Java Web Maven项目在WildFly 16上修改代码后重新部署不生效的解决方案

我完全懂你现在的困扰——首次通过向导部署成功了,可改完代码后不管怎么跑mvn clean、mvn install,WildFly上就是看不到更新,关键是你还不确定到底该怎么正确触发重新部署。别慌,下面我一步步给你理清楚解决办法:

一、先说说你之前操作的问题

你执行的那些Maven命令,本质上只是完成了代码编译和打包,但并没有把新生成的war包推送到WildFly的部署目录里。Eclipse和WildFly的集成部署需要额外的步骤,让Eclipse把更新后的内容同步到服务器上,光靠Maven命令是不够的。

二、正确的重新部署流程(两种常用方式)

方式1:用Eclipse的服务器视图直接操作(最适合开发)

这是最省心的方式,不用手动折腾文件:

  • 先打开Eclipse的Servers视图(没显示的话,点顶部菜单栏Window → Show View → Servers)
  • 找到你配置好的WildFly服务器实例
  • 右键点击服务器,选择Clean...,先清理掉服务器上的旧部署文件
  • 接着右键点击你的项目,选择Run As → Run on Server;或者在Servers视图里找到你的项目,右键选Full Publish
  • 等控制台弹出部署成功的日志后,刷新浏览器就能看到代码更新了

方式2:手动打包+部署到WildFly(适合排查集成问题)

如果Eclipse的集成部署出问题,可以手动来:

  1. 打开Eclipse的终端(或者在外部命令行进入项目根目录),执行mvn clean package——这个命令会把代码编译、打包成war包,存放在项目的target文件夹里
  2. 找到WildFly安装目录下的standalone/deployments文件夹(如果是域模式就是domain/deployments)
  3. 删除里面旧的GumboChannel-0.0.1-SNAPSHOT.war和对应的GumboChannel-0.0.1-SNAPSHOT.war.deployed文件
  4. 把target目录里刚生成的新war包复制到deployments文件夹
  5. WildFly会自动检测到新文件并完成部署,等控制台出现成功日志后,刷新浏览器即可

三、优化你的pom.xml,让部署更顺手

看了你的pom.xml,给你加个实用插件,以后可以直接用Maven命令部署/重新部署:
添加WildFly的Maven插件到<plugins>节点里:

<plugin>
    <groupId>org.wildfly.plugins</groupId>
    <artifactId>wildfly-maven-plugin</artifactId>
    <version>2.0.1.Final</version>
    <configuration>
        <hostname>localhost</hostname>
        <port>9990</port> <!-- WildFly默认管理端口,要是改了就填你自己的 -->
        <username>admin</username> <!-- 你的WildFly管理控制台用户名 -->
        <password>admin</password> <!-- 对应的管理密码 -->
    </configuration>
</plugin>

加完之后,你直接执行mvn wildfly:deploy就能部署项目,执行mvn wildfly:redeploy就能快速重新部署,不用再手动复制文件了。

另外,你的warSourceDirectory配置成WebContent是没问题的(符合Eclipse传统Web项目的结构),如果后续想转成标准Maven结构,可以改成src/main/webapp,不过现在不用动。

四、开发阶段的热部署技巧(省时间神器)

要是你频繁改代码,每次都重新部署太麻烦,可以开启WildFly的热部署:

  1. 打开WildFly安装目录下的standalone/configuration/standalone.xml文件
  2. 找到<subsystem xmlns="urn:jboss:domain:deployment-scanner:2.0">节点,把scan-interval改成5000(单位毫秒,就是每5秒扫描一次部署目录),同时确保auto-deploy-exploded="true"
  3. 在Eclipse里勾选Project → Build Automatically,这样改完代码Eclipse会自动编译,WildFly会自动检测到更新并重新加载,不用手动触发部署了

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.13 08:10:25