问 题 最近在使用Intellij idea, 本以为它的热部署功能应该很强大, 没想到和Eclipse差不多, 下面的变化均不支持自动加载, 均需重启。 类中增加增加setter/getter方法 不支持 更改类中的变量类型(如String -> long) 不支持 更改url 不支持 如@RequestMapping(value = "/foo") --> @RequestMapping(value = "/bar") 热部署真的有这么复杂吗? 连商业软件都做不到? 解决方案 这是Java作为编译型语言的硬伤,避无可避的生死劫. 下面转一些语言的热部署对比: 在 Java 开发领域,热部署一直是一个难以解决的问题,目前的 Java 虚拟机只能实现方法体的修改热部署, 对于整个类的结构修改,仍然需要重启虚拟机,对类重新加载才能完成更新操作。 而PHP在开发时就友好多了,修改代码立即生效。 在生产环境运行时,开启了OPcache,只