我在 VSCode 中制作了一个基于 Maven 的小型 Web 应用程序,并尝试使用 Redhat 服务器连接器扩展将其部署在 JBoss 上。
但是类文件的热部署在简单运行的 JBoss 服务器中不起作用。
但是,通过将属性'java.debug.settings.hotCodeReplace'设置为'auto',热部署确实可以在 Debug模式下作为“热代码替换”工作。
我的输入来自以下链接:
以及其他SO链接,例如: How do I get Java "hot code replacement" working in JBoss?
Hot deploy on JBoss - how do I make JBoss "see" the change?
但这并没有什么帮助。
您能否就如何简单地运行 JBoss 提出更多建议?
(PS:VSCode 中的自动构建功能已启用。
并且它在 Eclipse 中运行良好)。
最佳答案
在 VSCode 的集成 RedHat 服务器连接器中热部署 Web 应用程序可以通过以下方式进行:
分解的 war 文件夹
:从原始 war 中提取文件夹并使用分解选项将其部署到 JBoss。在这里,jsps 和 HTML 中的更改等静态更改会自动反射(reflect)在正在运行的应用程序中。热代码替换
:热代码替换 (HCR) 是一种快速调试技术,Java 调试器通过调试
channel 将新的类文件传输到另一个 JVM。 HCR仅在类签名不改变时才起作用;使用 HCR 时,您无法删除现有类或向现有类添加字段。但是,HCR 可用于更改方法的主体。 (来源:https://devblogs.microsoft.com/visualstudio/hot-code-replacement-for-java-comes-to-visual-studio-code/)Maven 安装/构建
:它实际上不是某人想要的首选技术,但它也很有用。在这种技术中,您运行maven: install
来再次构建项目并将其再次安装到服务器上。
目前,与 Eclipse 等现有 IDE 相比,VSCode for java 和服务器连接器扩展都是新的。因此,我们可能期望在未来有更强大的功能。
关于java - 如何使用 VSCode 中的 Redhat 服务器连接器扩展在 JBoss 中启用热部署,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57895050/