[英]Which Java web frameworks provide hot-reload?
我想知道哪些Java Web应用程序框架提供了“热重新加载”功能,即它允许开发应用程序并将它们“几乎立即”(即在不到几秒钟内)重新部署在服务器上。
在Java世界中, 玩! 开箱即用,但我正在寻找的是一个更详尽的清单。
我所知道的其他例子包括:Nuxeo WebEngine,前提是你正在使用Eclipse和正确的插件,或者在Python世界中,使用Django和Pylons(当使用--reload
选项时)。
据我所知,如果使用jrebel ,几乎每个java框架都可以进行热重载。 如其他答案所述,某些框架内置了某种热部署。
如果有人在这几个月后感兴趣:
你可以配置jetty,以便它将热部署你编译的类(eclipse + netbeans具有编译保存功能)。 使用maven,您可以键入mvn jetty:run
在pom.xml中mvn jetty:run
此配置后:
<plugin>
<groupId>org.mortbay.jetty</groupId>
<artifactId>maven-jetty-plugin</artifactId>
<version>${jetty.version}</version>
<configuration>
<scanTargets>
<scanTarget>target/classes/</scanTarget>
</scanTargets>
<scanIntervalSeconds>1</scanIntervalSeconds>
</configuration>
</plugin>
这可以在不使用jrebel的情况下完成,这意味着:在IDE中进行更改+保存+转到浏览器+ F5 =>完成了!
有了这个功能,例如wicket或vaadin是可热部署的(但其他人也是!)
Tapestry 5具有单一类/页面更改的热部署,Seam也是如此。
我将假设您希望将其用于开发目的而不是用于生产(因为Java生产中的热重新加载= =大时间失败)。 我很少会购买商业产品,但如果你想用Java加热重新加速开发,你真正想要的就是JRebel 。 热门重装对您来说相当轻松。
注意 :无论您做什么,都不要为Java应用程序使用JRebel(或任何热部署)。
在块上有一个新的孩子,RelProxy,它是开源的,不像JRebel那样先进,但它可以用来在运行时自由更改代码的子集并重新加载它几乎没有性能损失而且不需要上下文重新加载如果你愿意,在开发和生产中没有会话丢失。
如果您使用POJOs
而不是EJBs
, Seam framework
应该在您的列表中。
如果要编辑Java(控制器,型号)代码并刷新浏览器以立即查看更改而无需重新启动Web服务器,则可以使用scooter 。 顺便说一句,它的内置工具文件浏览器允许您通过浏览器编辑(编译)您的代码。 浏览器可能无法作为IDE使用,但它可以帮助您远程开发应用程序。
在eclipse中开发struts(2)应用程序时,只要保存成功编译的文件,它也会自动重新加载。
但是,每次重新加载都会丢失会话,这有点烦人。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.