JHipster Java 网络应用程序开发及其热重载功能

JHipster Java web app development and its hot reload capability

我目前使用 Java 的 Play 框架(实际上是 1.x 系列)并且是迄今为止使用 Play 的最好的部分,它的巨大生产力在于它固有的、透明的、全面的,快速、无缝 'hot reload' 功能。我根本无法 return 在没有这个的地方进行 Java 开发。

不过,我对 Play 总体上存在一些问题,包括但不限于普遍缺乏对 Java 的重视,而不是平台上的 Scala 开发。

所以对当前的替代方案进行了一些研究(我以前曾经做过 Spring J2EE 开发)我偶然发现了表面上看起来很有前途的 JHipster。

所以人们可以告诉我使用带有 'easy' 热重载设置的 JHipster 的选项吗?我们是在谈论使用 JRebel(它很昂贵)还是有其他选择?设置是否简单,工作是否一致?任何有这方面经验的人,我将不胜感激。

JHipster 为您提供 2 种类型的 "hot reload" 功能。它们都是免费和开源的,并且始终如一地工作。我认识很多人(包括我)每天都在使用它们。

  • Spring Boot devtools 允许您热重载 Java 代码。这与玩什么很接近!或 JRebel 提供。 JHipster 也对其进行了改进,包括使用 Liquibase 的数据库更新,这是 JRebel 或 Play 不提供的。
  • BrowserSync,可让您热重载前端 (AngularJS) 代码。这是一个非常不同的焦点:这意味着您的 Web 浏览器会在代码更改时自动刷新。

正是这些 "hot reload" 功能的一致使用使 JHipster 变得强大。我经常生成我的应用程序的大部分,并且我有数据库、Java 代码和浏览器,所有这些都在运行中自动刷新。

我和你在同一个角落,在javaspace中寻找比play更好的东西,这不是一件容易的事,我们继续使用play 1.4.1 .

但是要回答你的问题,就像你一样,我们最终会 Spring Boot 和 JHipster; Devoxx 中的 Mat Raible 演示非常有说服力。

对于 Thymeleaf 模板的热重载,需要在 application.properties 中添加接下来的两行:

spring.thymeleaf.cache=假
spring.thymeleaf.mode=LEGACYHTML5

热重载Java

要在 spring 启动时进行热重载,必须使用 spring 加载的项目,下载它并将其放在磁盘中的某个位置。

要激活 spring 加载,至少在 Spring 工具套件 (eclipse) 中,您需要在 运行 配置的 VM 参数部分添加 jar 作为代理:

-Djava.security.egd=file:/dev/./urandom -javaagent:/home/hans/Descargas/springloaded-1.2.5.RELEASE.jar -noverify

没有play one那么爽,需要时不时重启一下服务器,不过还行。