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