2010-10-11 52 views
1

我真的很生气,当我开发UI时,必须重新部署整个应用程序以查看可能需要一分钟的更改。启动时大部分时间用于启动服务和dao层(=休眠)。我已经将应用程序划分为多个模块,UI代码是一个独立的模块。所有的模块都打包在war中并部署在Tomcat上。该软件为IOC使用Spring。 UI层中的代码使用Spring MVC和最近的Vaadin。 Maven被用来构建projet。通过重新部署UI代码,加速Java中的Web UI开发?

是否有任何提示,以改变UI层更改代码时的东西?有没有办法重新部署只有一个罐子?我已阅读关于OSGI和EJB的帮助?你会推荐使用其中一种还是有其他解决方案?使用像glassfish或jboss这样的真正的应用服务器我没有问题。最终的结果也不一定是战争文件。

编辑:我试图摆脱JSP,所以更换服务器上的JSP文件是不够的。 Vaadin是普通的Java代码。即使在Spring MVC中,控制器也是Java代码。

回答

1

这里有几个解决方案。

  1. 通常的网络/应用服务器将有一个工作目录,你会发现,如果要更换JSP页面那里,你“变”将会立即回升。如果您在部署中使用分解的WAR文件,这会更容易。

  2. JRebel可用于加快周转时间

更改为EJB或OSGI将是一个不平凡的变化 - 部署速度可能不应该是你对这个唯一的司机。

PS:我的web前端技术都有点生疏了,所以也许把我的意见与一粒盐

+0

JRebel很有趣,必须检查出来。 – palto 2010-10-11 13:59:28

0

是你的变化实际上对UI元素,或CSS样式?我们对外部化静态资源(如CSS和图形)有一定的运气,只需确保浏览器缓存为空即可看到更改。如果你真的改变了用户界面,我只是看了Vaadin的“30秒”介绍,至少看起来像是任何UI更改都需要重启服务器才能看到。

Vaadin使用GWT作为其显示技术。 GWT将Java代码编写成Swing,并将其转换为HTML和Javascript。我认为所有生成的代码都是不得不反弹一切的主要原因。 YMMV