【发布时间】:2014-08-14 17:12:31
【问题描述】:
在 Eclipse 上,当您在项目上执行 Maven RUN 时:tomcat7:run,如果您更改了某些类,则无需重新运行应用程序以检查更改。我认为是“热代码交换”或类似的东西。
可以在 IntelliJ 上做到这一点吗?
【问题讨论】:
标签: maven debugging intellij-idea maven-tomcat-plugin hotswap
在 Eclipse 上,当您在项目上执行 Maven RUN 时:tomcat7:run,如果您更改了某些类,则无需重新运行应用程序以检查更改。我认为是“热代码交换”或类似的东西。
可以在 IntelliJ 上做到这一点吗?
【问题讨论】:
标签: maven debugging intellij-idea maven-tomcat-plugin hotswap
是的,你有 4 个选项:
先按Ctrl+F10
你会看到:
第二个是答案。更多信息在这里:
http://www.jetbrains.com/idea/webhelp/updating-applications-running-on-application-servers.html
2018 年编辑:IntelliJ IDEA 2017.3.3
【讨论】:
tomcat7:run,但这个答案似乎是关于 IntelliJ 自己的 Tomcat 支持。不是 我 想要的,但里程可能会有所不同,对吧?
这是我发现在 IntelliJ IDEA 2017.3 中使用运行/调试配置的 Maven tomcat7:run 插件。
在您的 IntelliJ 设置中创建运行/调试配置并配置 Java 热插拔后,您必须在 DEBUG 模式下运行此配置。
当 Tomcat 服务器运行时,您可以更改代码并使用 ctrl+shift+F9 重新编译它们,IntelliJ IDEA 将弹出一条消息告诉您“某些课程已更改”并询问“您要部署更新/更改吗?” (由于设置>询问)。 回答是,IntelliJ 将显示一个状态,告诉您它是否成功,在这种情况下,您可以再次发送您的 POST/GET 请求来测试您的更改,或者,如果它未能部署更改,在这种情况下,您需要停止 Tomcat 并重新启动它。
部署更改的成功或失败取决于 Java 的热插拔功能是否允许您的更改。请参阅您的 JDK 文档。
这是我的 IntelliJ IDEA 设置和运行/调试配置的图像:
注意:您可以将选项添加到 Before Launch 部分以执行您可能需要的其他步骤,例如将其他“资源”文件复制到“目标/类”文件夹。例如,您可以使用外部工具选项调用您编写的脚本,以将其他“资源”文件复制到“目标/类”文件夹。 IntelliJ 的文档解释了如何使用 Before Launch 功能。
【讨论】: