如何在VSCode中热加载Tomcat服务器

时间:2018-07-20 04:08:04

标签: java tomcat visual-studio-code

我正从Eclipse IDE(使用+ VSCode分别编码Java servlet和HTML / CSS / JS网页)迁移到仅Visual Studio Code,以实现轻量级。


我为VSCode安装了几个Java扩展:


Eclipse具有一系列用于热重载的设置:

- Automatically publish when resources change
- Refresh using native hooks or polling

而VSCode似乎对我没有任何帮助。


我尝试重新加载Java和Web代码的一些事情:

  • 重新启动Tomcat服务器
  • 删除并重新添加Tomcat服务器
  • 删除并重新生成.war程序包(不确定是否有任何作用,如果没有.war程序包,它可以很好地运行)

3 个答案:

答案 0 :(得分:0)

在VScode中安装“ Tomcat for Java”扩展。

在上述扩展名中配置Tomcat的路径。

现在您应该可以在常规构建->部署模式下运行tomcat了。现在,使用“ java -jar installer-light.jar”安装DCEVM。 (选择“将DCEVM安装为altjvm”)

将HotSwap Agent Jar放置在您选择的目录中。

现在,在VScode中,右键单击已创建的Tomcat服务器。 (步骤3中的一个),然后选择“定制JVM选项”。

在打开的文件中,放置“ -XXaltjvm = dcevm -javaagent:/ [您的目录] /hotswap-agent-1.3.1-SNAPSHOT.jar”,然后右键单击VScode中的tomcat服务器并选择“ Debug WAR package”,然后选择WAR文件。

如果一切顺利,则WAR将以调试模式在TOMCAT中启动,并在日志中显示文本“ HOTSWAP AGENT”。

现在,每次保存到文件都会触发热重装。

https://medium.com/@manoj_makkuboy/hot-reload-java-8-tomcat-server-in-vscode-ba6233d632e

答案 1 :(得分:0)

本文可能会有所帮助,我从其他IDE迁移到了Vscode。 根据文章所述,如果您安装Debugger for Java,则会启用热代码替换(HCR),然后:

  

您可以在开发环境中启动调试会话并更改Java文件,调试器将替换运行您的代码的JVM中的代码。

Hot code replacement for java comes to visual studio code

答案 2 :(得分:0)

好消息...

它现在自动工作。使用Tomcat for Java Extension(以及Java Extension Pack的其余部分): https://marketplace.visualstudio.com/items?itemName=adashen.vscode-tomcat

只需确保您的设置是这样的(搜索“ java.autobuild”以在最初的结果中获得这两个): enter image description here

非常重要的是,您不会像在Eclipse中那样在HCR(热代码替换)上的控制台中看到任何日志……但是实际上您会看到被替换的代码行为。只需调试更改的代码,您就会在运行的服务器中看到它实际上已更改。

更新:我发现它在“手动”(默认)设置下效果更好。只需单击一次闪电图标。 (在Ubuntu 18.04 LTS中测试) [[我说这更好用,因为如果我将行添加到具有'auto'设置的Class'代码中,则不会添加该代码...仅当我更改现有行中的代码时。但是使用手动设置,我只是保存了文件,然后自己单击闪电图标,等待约3秒钟,然后调试新代码……一切顺利!! enter image description here

...这解决了我的编码需求(轻巧的Editor / IDE,在Tomcat中具有热代码替换功能)

享受!