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

Vert.x+Kotlin+Gradle热部署失效问题求助

Vert.x Kotlin Web示例热部署不生效问题解决

看起来你遇到的是Windows环境下Vert.x热部署的命令适配问题,日志里的'.' is not recognized as an internal or external command是关键线索——Vert.x默认的重新部署命令用了Unix/Linux风格的写法,Windows系统无法识别,导致实际没有重新编译并运行新代码。

给你几个可行的解决方案:

1. 修正重新部署的命令(最核心的解决方法)

打开项目的build.gradle文件,找到run任务的配置块,添加JVM参数指定Windows下的正确启动命令:

run {
    // 保留原有的其他配置(比如mainClassName等)
    jvmArgs = ['-Dvertx.redeploy.command=gradlew.bat run']
}

默认情况下Vert.x会用./gradlew run来重新部署,Windows下需要换成gradlew.bat run,这个参数就是告诉Vert.x用正确的Windows命令来重启应用。

2. 手动指定源码监控路径

日志里显示监控的是.\out目录(编译后的输出目录),有时候源码变更后编译任务没自动触发,导致输出目录没有更新。可以在启动时指定监控源码目录:

gradlew run -Dvertx.watch.paths=src/main/kotlin

这样Vert.x会直接监控你的Kotlin源码文件,一旦检测到变更,会先触发编译再重新部署。

3. 强制重新部署前先编译

如果上面的方法还是有问题,可以让重新部署命令先执行编译任务再启动应用,修改build.gradle的run配置:

run {
    jvmArgs = ['-Dvertx.redeploy.command=gradlew.bat compileKotlin run']
}

这样每次重新部署时,都会先执行compileKotlin任务确保代码被重新编译,再启动应用。

验证步骤

  1. 保存修改后的build.gradle文件
  2. 停止当前正在运行的gradlew run进程
  3. 重新执行gradlew run启动应用
  4. 修改你的主类代码,观察日志:
    • 应该看不到'.' is not recognized的错误
    • 会看到compileKotlin任务被执行的日志
    • 重新部署完成后,测试接口就能看到新代码的效果了

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.15 07:43:40