所以我最近加入了一家新公司来支持遗留的 Java Web 应用程序,当前团队使用 Eclipse 进行开发......这很好,但如果可能的话,我想迁移到我喜欢的工具 IntelliJ。在大多数情况下,它是有效的,但我在我的环境中遇到的最后一个问题是热插拔/自动重新部署不起作用。鉴于重新启动我的本地服务器最多需要一分钟,这对于快速开发来说并不理想
如果我定期或在调试模式下运行服务器,保存文件似乎不会触发自动构建/部署过程。进入“运行”选项,我可以选择
Update classes and resources
:
这会触发构建,但不幸的是,在热插拔部署方面似乎出现错误:
15:36:26,159 ERROR [org.jboss.msc.service.fail] (MSC service thread 1-1) MSC000001: Failed to start service jboss.deployment.unit."project-ejb.jar".POST_MODULE: org.jboss.msc.service.StartException in service jboss.deployment.unit."project-ejb.jar".POST_MODULE: WFLYSRV0153: Failed to process phase POST_MODULE of deployment "project-ejb.jar"
这是我用于运行 Wildfly 18 服务器的运行/调试配置:
此处唯一的其他非默认设置是启动脚本,即
wildfly-18.0.0.Final/bin/standalone.sh -c standalone-full.xml
我已将自动部署爆炸的设置添加到我的 XML 中:
<deployment-scanner scan-interval="5000" auto-deploy-exploded="true" .../>
这些是我的爆炸神器的设置:
这些是我的
Debugger->HotSwap
设置:
任何帮助或指导将不胜感激 - 显然我很乐意回答任何可能有助于诊断问题原因的问题。
提前感谢您的帮助!
~艾伦
尝试在 WildFly 运行/调试配置中为
Update Classes and resources
和 Hot swap classes
部分设置 On frame deactivation
或 On Update action
。
例如:
请参阅https://www.jetbrains.com/help/idea/updating-applications-on-application-servers.html了解更多信息