简体   繁体   中英

Which Java web frameworks provide hot-reload?

I'd like to know which Java web application frameworks provides a "hot reload" capability, ie, it allows to develop applications and has them redeployed on the server "almost instantly" (ie, in less than a few seconds).

In the Java world, Play! does that out of the box, but what I'm looking for is a more exhaustive list.

Other examples that I'm aware of include: Nuxeo WebEngine, provided you're using Eclipse and the right plugin, or, in the Python world, Django and Pylons (when using the --reload option).

As far as I know, you can do hot reload with almost every java framework if using jrebel . Some frameworks have some kind of hot-deploy built in, as noted in other answers.

If someone might be interested after those months:

you can configure jetty so that it will hot deploy your compiled classes (eclipse + netbeans have the compile on save feature). With maven you can type mvn jetty:run after this config in your pom.xml:

        <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>

This can be done without the use of jrebel and it means: do a change in the IDE + save it + go to your browser + F5 => you are done!

With that feature eg wicket or vaadin are hot deployable (but others too!)

Tapestry 5具有单一类/页面更改的热部署,Seam也是如此。

I'm going to assume you want this for development purposes and not for production (as hot-reloading in production for Java == big time fail). Very rarely will I shill a commercial product, but if you want hot-reloading in Java to speed up development, what you really want is JRebel . It's hot reloading will be fairly effortless on your part.

NOTE : Whatever you do, do not use JRebel (or any hot deployment, for that matter) for your Java apps.

在块上有一个新的孩子,RelProxy,它是开源的,不像JRebel那样先进,但它可以用来在运行时自由更改代码的子集并重新加载它几乎没有性能损失而且不需要上下文重新加载如果你愿意,在开发和生产中没有会话丢失。

如果您使用POJOs而不是EJBsSeam framework应该在您的列表中。

If you want to edit your Java (controller, model) code and refresh your browser to see changes immediately and without restarting your web server, you can use scooter . By the way, its built-in tool File Browser allows you to edit(compile) your code thru a browser. A browser may not be capable as an IDE, but it helps you remotely develop your app.

When developing a struts(2) application in eclipse it's also automatically reloaded as soon as you save a file which compiles successfully.

However, sessions are lost on every reload which is a bit annoying..

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM