首页 文章

在Netbeans的Glassfish上进行热部署

提问于
浏览
1

我有一个包含多个应用程序的项目 . 我有一个战争和一个EAR包 . 我正在使用Glassfish,Netbeans和Maven .

问题是每次我在jsf页面做一个小改动我必须构建项目并从头开始在服务器上运行它(部署) .

此外,我已将WAR的构建 - >编译“保存时编译”属性更改为“仅用于应用程序执行” . 同样在项目属性运行 - >我已在保存时启用了部署 .

我仍然需要从头开始重新部署以查看更改 . 请帮忙,这是我的时间!

谢谢,萨拉 .

2 回答

  • 1

    确保将PROJECT_STAGE设置为“开发” . 如果它正在 生产环境 ,您的JSF实现可能会缓存已编译的版本,并且不会检查磁盘上的更改 .

    你应该在web.xml中有这样的东西

    <context-param>
        <param-name>javax.faces.PROJECT_STAGE</param-name>
        <param-value>Development</param-value>
    </context-param>
    

    顺便说一句,我只使用maven一次使用netbeans java-ee项目,使用maven比普通的netbeans项目慢 . 如果我没记错的话,maven总会 Build 一场新的战争并进行部署 . netbeans项目执行所谓的就地部署,这意味着它直接使用项目中的文件,因此即使不重新部署,也可以获取对JSF页面或CSS的任何更改 . 只有在更改java代码和部署描述符时才需要重新部署 .

  • 2

    NetBeans提供“节省时部署”功能 . 但是,它仍然重新部署完整的应用程序 . 尽管它声称能够保留会话,但仍需要时间 .

    您可能需要查看JRebel - 可以立即处理应用内更新的JVM插件 .

    NetBeans 7.1的插件可在此处获得:http://plugins.netbeans.org/plugin/22254/jrebel-netbeans-plugin对于NetBeans 7.2,该插件正在开发中 .

相关问题