通过仅重新部署UI代码来加速Java中的web UI开发?

通过仅重新部署UI代码来加速Java中的web UI开发?,java,Java,当我开发UI时,我真的很生气,不得不重新部署整个应用程序来查看我的更改,这可能需要一分钟的时间。启动时的大部分时间用于启动服务和dao层(=hibernate)。我已经将应用程序分为多个模块,UI代码是一个单独的模块。所有模块都打包在war中并部署在Tomcat上。该软件使用Spring实现IOC。UI层中的代码使用SpringMVC和最近的Vaadin。Maven用于构建projet 在UI层中更改代码时,是否有加快速度的提示?有没有办法只重新部署一个jar?我读过关于OSGI和EJB的文章,

当我开发UI时,我真的很生气,不得不重新部署整个应用程序来查看我的更改,这可能需要一分钟的时间。启动时的大部分时间用于启动服务和dao层(=hibernate)。我已经将应用程序分为多个模块,UI代码是一个单独的模块。所有模块都打包在war中并部署在Tomcat上。该软件使用Spring实现IOC。UI层中的代码使用SpringMVC和最近的Vaadin。Maven用于构建projet

在UI层中更改代码时,是否有加快速度的提示?有没有办法只重新部署一个jar?我读过关于OSGI和EJB的文章,它们可以帮助解决这个问题吗?您会推荐使用其中一种解决方案,还是有其他解决方案?我使用像glassfish或jboss这样的真正的应用服务器没有问题。最终结果也不一定是war文件


编辑:我正试图摆脱JSP,所以在服务器上替换JSP文件是不够的。Vaadin是纯Java代码。即使在SpringMVC中,控制器也是Java代码。

对此,我脑子里有几个解决方案

  • 通常,Web/App服务器会有一个工作目录,您会发现,如果在那里替换JSP页面,您的“更改”将立即得到响应。如果您在部署时使用分解的WAR文件,这将更加容易

  • 可用于加快周转时间

  • 更改为EJB或OSGI将是一个非常重要的更改-部署速度可能不应该是这方面的唯一驱动因素


    PS:我的web前端技能有点生疏,所以也许可以接受我的建议,但我有一些解决方案

  • 通常,Web/App服务器会有一个工作目录,您会发现,如果在那里替换JSP页面,您的“更改”将立即得到响应。如果您在部署时使用分解的WAR文件,这将更加容易

  • 可用于加快周转时间

  • 更改为EJB或OSGI将是一个非常重要的更改-部署速度可能不应该是这方面的唯一驱动因素


    PS:我的web前端技能有点生疏了,所以也许可以对我的建议稍加保留

    您的更改实际上是对UI元素还是CSS样式的更改?我们在外部化静态资源(如CSS和图形)方面取得了一些成功,通过确保浏览器缓存为空就可以看到更改。如果你真的在改变用户界面,我刚刚看了“30秒”的Vaadin简介,这至少让任何用户界面的改变看起来都需要重新启动服务器才能看得见

    Vaadin使用GWT作为其显示技术。GWT将编写的Java代码看起来像Swing,并实际将其转换为HTML和Javascript。我认为所有生成的代码都是必须跳出所有内容的主要原因。
    YMMV

    您的更改实际上是对UI元素还是CSS样式的更改?我们在外部化静态资源(如CSS和图形)方面取得了一些成功,通过确保浏览器缓存为空就可以看到更改。如果你真的在改变用户界面,我刚刚看了“30秒”的Vaadin简介,这至少让任何用户界面的改变看起来都需要重新启动服务器才能看得见

    Vaadin使用GWT作为其显示技术。GWT将编写的Java代码看起来像Swing,并实际将其转换为HTML和Javascript。我认为所有生成的代码都是必须跳出所有内容的主要原因。
    YMMV

    JRebel很有趣,你必须去看看。JRebel很有趣,你必须去看看。