我正在使用IBM RAD版本8.0并将EAR应用程序部署到IBM WebSphere 7.0。每次我更改JSF文件时,我都需要重新发布应用程序,否则更改将不可见。
发布需要一些时间,因此通常需要至少一分钟才能看到即使是最微小的变化的影响。在“正常”的应用程序开发中,它大约需要几秒钟,对于那些没有JSF coryphee且仍然需要学习并且需要进行实验的人来说,这是至关重要的...
在使用IBM RAD和WebSphere时,是否可以使用JSF功能在不重启应用程序的情况下重新加载JSF页面定义?或者我将被迫用Eclipse&创建第二个环境Tomcat,仅用于JSF实验吗?
答案 0 :(得分:4)
通常在服务器配置中配置。在Eclipse的 Servers 视图中双击所需的服务器,然后前往 Publishing 部分。
请注意,您还应该考虑使用Facelet缓存,尤其是在使用相对激烈缓存的MyFaces时。如果确保javax.faces.PROJECT_STAGE
上下文参数设置为Development
,那么MyFaces和Mojarra都将放松Facelet缓存策略,使其几乎立即重新编译Facelet文件,而不是使用缓存版本相当长的时间。
发布设置的替代方法是使用JRebel。它还能够发布Java类(如托管bean和EJB)中的更改,从而节省大量的热部署时间。它也有一个Eclipse plugin。
答案 1 :(得分:2)
这个线程很老,但我仍然遇到了同样的问题,使用eclipse和WebSphere。
要检查的地方是这个。如果您使用带有.xhtml结尾的JSF文件,则必须确保这些文件中的更改不会触发自动重新发布。
在web.xml中,我还添加了一个名为javax.faces.PROJECT_STAGE的参数和值Development,这可能会对违规行为产生影响。