java - 如何在 VSCode 中热重载 Tomcat 服务器
问题描述
我正在从 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
包的情况下运行良好)
解决方案
好消息...
它现在自动运行。使用 Tomcat 进行 Java 扩展(以及 Java 扩展包的其余部分): https ://marketplace.visualstudio.com/items?itemName=adashen.vscode-tomcat
只需确保您的设置是这样的(搜索“java.autobuild”以在第一个结果中获得这两个):
非常重要的是,您不会在 HCR(热代码替换)的控制台中看到任何日志,就像在 Eclipse 中发生的那样……但实际上您会看到被替换的代码行为。只需调试您更改的代码,您就会看到它实际上在运行的服务器中发生了更改。
更新:我发现它在“手动”(默认)设置下效果更好。只需在闪电图标中单击一次。(在 Ubuntu 18.04 LTS 中测试)[我说它工作得更好,因为如果我使用 'auto' 设置将行添加到 Class' 代码中,它将不会添加该代码......只有当我更改现有行中的代码时。但是使用手动设置,我只需保存文件,然后单击闪电图标等待〜3秒我自己并调试新代码......一切顺利!
...这解决了我的编码需求(轻量级编辑器/IDE 与 Tomcat 中的热代码替换)]
享受 !
推荐阅读
- sql-server - Azure VM 上的 SQL Server:我的应用程序如何连接?
- c# - CMD /C 并在远程机器上回显调用命令
- r - 为新数据框中的 A 列的每个值获取 B 列的所有值
- report - 来自odoo的xlsx报告中的访问错误
- c++ - 将数据从 OpenCV C++ 传递到 NodeJS/JS | 电子
- ios - 如何隐藏或更改 NFC 标签检测之前的弹出窗口?
- mysql - 如何在 mysql 工作台模式中为双精度数据类型设置精度值
- sql - 如何根据另一个字段重置自动编号字段?
- ios - 指南 2.4.1 - 性能 - 硬件兼容性
- javascript - 当输入仍然集中时,Jquery 代码不执行