java - 如何使用 VSCode 中的 Redhat 服务器连接器扩展在 JBoss 中启用热部署

标签 java visual-studio-code jboss redhat

我在 VSCode 中制作了一个基于 Maven 的小型 Web 应用程序,并尝试使用 Redhat 服务器连接器扩展将其部署在 JBoss 上。

但是类文件的热部署在简单运行的 JBoss 服务器中不起作用。

但是,通过将属性'java.debug.settings.hotCodeReplace'设置为'auto',热部署确实可以在 Debug模式下作为“热代码替换”工作。

我的输入来自以下链接:

https://devblogs.microsoft.com/visualstudio/hot-code-replacement-for-java-comes-to-visual-studio-code/

以及其他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/

相关文章:

go - 在vscode-go中,有没有办法运行本地版本的go :generate statements?工具

css - VS Code - Angular 2 Typescript - 如何删除/修复 css Shadow Piercing 错误?

Golang VSCode 配置最佳设置

java - 返回 vfs 而不是文件

java - "Trying to return an unknown connection2! "警告消息的原因是什么

java - 为什么这个带有泛型的代码会在 Java 11 中引发 ClassCastException?

java - Gson:如何解析可以是列表或字符串的多态值?

java - "No such operation" Axis 网络服务错误

java - JBoss Drools 检查一次条件

java - 在子类中创建父对象时出错