我有一个包含多个应用程序的项目。我有一个战争和一个 EAR 包。我正在使用 Glassfish、Netbeans 和 Maven。
问题是每次我在 jsf 页面中进行小改动时,我都必须构建项目并从一开始就在服务器上运行它(部署)。
此外,我已将 WAR 的构建 -> 编译“保存时编译”属性更改为“仅用于应用程序执行”。同样在项目属性运行-> 我已启用保存时部署。
我仍然必须从头开始重新部署它才能看到变化。请帮忙,这需要我的时间!
谢谢,萨拉。
我有一个包含多个应用程序的项目。我有一个战争和一个 EAR 包。我正在使用 Glassfish、Netbeans 和 Maven。
问题是每次我在 jsf 页面中进行小改动时,我都必须构建项目并从一开始就在服务器上运行它(部署)。
此外,我已将 WAR 的构建 -> 编译“保存时编译”属性更改为“仅用于应用程序执行”。同样在项目属性运行-> 我已启用保存时部署。
我仍然必须从头开始重新部署它才能看到变化。请帮忙,这需要我的时间!
谢谢,萨拉。
确保 PROJECT_STAGE 设置为 Development。如果它在生产中,您的 JSF 实现可能会缓存已编译的版本,并且不会检查磁盘上的更改。
您的 web.xml 中应该有类似的内容
<context-param>
<param-name>javax.faces.PROJECT_STAGE</param-name>
<param-value>Development</param-value>
</context-param>
顺便说一句,我只在 netbeans java-ee 项目中使用过一次 maven,使用 maven 比普通的 netbeans 项目慢。如果我没记错的话,maven 总是会建立新的战争并进行部署。netbeans 项目执行所谓的就地部署,这意味着它直接使用项目中的文件,因此即使不重新部署,也可以获取对例如 JSF 页面或 CSS 的任何更改。仅在更改 java 代码和部署描述符时才需要重新部署。