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

标签 java

当我开发 UI 时,我真的很生气,并且必须重新部署整个应用程序才能看到我的更改,这可能需要长达一分钟的时间。启动的大部分时间都花在启动service和dao层(=hibernate)上。我已经将应用程序分为多个模块,并且 UI 代码是一个单独的模块。所有模块都打包在war中并部署在Tomcat上。该软件使用 Spring 进行 IOC。 UI 层中的代码使用 Spring MVC 和最近的 Vaadin。 Maven 用于构建项目。

在 UI 层更改代码时是否有任何加快速度的技巧?有没有一种方法可以只重新部署一个 jar ?我读过有关 OSGI 和 EJB 的内容,可以帮助解决这个问题吗?您会建议使用其中之一还是还有其他解决方案?我使用 glassfish 或 jboss 等真正的应用程序服务器没有任何问题。最终结果也不一定是 war 文件。

编辑:我正在尝试摆脱 JSP,因此替换服务器上的 JSP 文件已经不够了。 Vaadin 是纯 Java 代码。即使在 Spring MVC 中, Controller 也是 Java 代码。

最佳答案

我想到了几个解决方案。

  1. 通常,Web/应用程序服务器会有一个工作目录,您会发现如果您替换其中的 JSP 页面,您的“更改”将立即生效。如果您在部署时使用分解的 WAR 文件,这会更容易。

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

更改为 EJB 或 OSGI 将是一个不小的更改 - 部署速度可能不应该是唯一的驱动因素。

PS:我的 Web 前端技能有点生疏,所以也许对我的建议持保留态度

关于java - 仅通过重新部署 UI 代码来加速 Java 中的 Web UI 开发?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3906719/

相关文章:

java - 添加 unicode\u0022 时编译时错误

java - 如何将数组值随机放入另一个数组?

java - 异常消息可以包含Java中的正则表达式字符吗?

java - Java 中的后期绑定(bind)

java - 如何在 t[][] 中对 a[] 中的整数进行随机排序,以使 a[] 中的所有整数彼此相邻?

java - ViewEntry - columnValues.get(0) 有时是多值列

java - 创建子列表并从上一个列表中删除值

java - 如何使用相同的 Scanner 方法返回超过 1 个值?

java - 使用插入顺序作为顺序的 java.util.Map 的实现

java - 打印列表的所有可能子集