jsf - Netbeans 12 热部署到 Wildfly 16
问题描述
我在让 Netbeans 12 将 JavaEE 项目(使用 Ant)热部署到 Wildfly 时遇到了很多问题。令人惊讶的是,对我的 Java 代码的任何更改都会在保存时像往常一样进行热部署,但对我的 Web 标记 (.xhtml) 的任何更改只会在全新部署后显示。
这是我所做的工作和当前设置的列表:
设置:
- 保存时复制静态资源
- 保存时编译
在我的 web.xml 中:
<context-param>
<param-name>javax.faces.PROJECT_STAGE</param-name>
<param-value>Development</param-value>
</context-param>
我试过的:
查看了以下问题并在适用的情况下应用了更改(鉴于我的 Wildfly 版本,大多数都不适用)
- 如何在 Wildfly 9 中启用 JSP 的动态编译?
- https://developer.jboss.org/thread/237954
- Netbeans 8.2 + wildfly 11 热部署不起作用[我在 NetBeans 8.2 实例中也遇到过这个问题!无分辨率]
Wildfly系统属性:
<system-properties>
<property name="java.net.preferIPv4Stack" value="true"/>
<property name="org.jboss.as.web.deployment.DELETE_WORK_DIR_ONCONTEXTDESTROY" value="true"/>
</system-properties>
Wildfly 部署扫描器:
<subsystem xmlns="urn:jboss:domain:deployment-scanner:2.0">
<deployment-scanner path="deployments" relative-to="jboss.server.base.dir"
scan-interval="100"
auto-deploy-exploded="true"
untime-failure-causes-rollback="${jboss.deployment.scanner.rollback.on.failure:false}"/>
</subsystem>
除了上述之外,我还修改了 Ant 脚本以将所需文件复制到适当的目录中。这确实有效,但每次我这样做时,我都会丢失保存之前的应用程序的任何会话状态。
我希望实现的是能够修改我的支持 Java 代码或我的前端标记,并在保存文件时(或单击热部署按钮,对我来说并不重要)反映在我的应用服务器。
我参与过使用 WebLogic 作为应用程序服务器的其他项目,没有任何问题。当您附加调试器并修改文件(使用 WebLogic)时,Netbeans (8) 简单地“工作”。刷新后更改会立即反映在浏览器中,而不会丢失状态。我希望我错过了一些非常小的东西,而且使用 Netbeans 12 + Wildfly 也很容易做到。
谢谢!!希望我只是错过了一些小东西!
解决方案
推荐阅读
- html - 在 contentEditable-div 中调整图像大小在 Firefox 中停止工作
- cassandra-3.0 - 在 cassandra cql 中查询
- python - 将日期时间列表转换为包含特定年份和月份的日期时间计数的列表列表
- angular - 如何更改使用 angular 6、ionic 4 作为前端和 scala 作为后端的混合应用程序的 CORS 策略?
- python - Tensorflow 无法在 Ubuntu 18.04 上使用 CUDA 9.1、CuDNN 7.1、Python 3.6、conda 识别 GPU
- javascript - Firefox 和 .diff 的自定义格式无效的日期格式不起作用
- python - 如何在 Django 2 admin 中创建自定义页面?
- c# - 在列中检索大值的更快方法
- javascript - 在异步中处理多个等待的正确方法
- java - Spring webServiceTemplate:前缀“soapenv”的命名空间尚未声明