How do develop a Java web application without having to deploy all the time

I've set up a simple Eclipse 3.5/Jetty 6.1 web app which returns hello world. It works. This is on Windows and uses the "Jetty Generic Server Adapter". I have auto deployment working so that it deploys after changes periodically.

How do I go about setting it up so that if I change any static content it doesn't have to redeploy ie I can just hit F5 to see the changes straight away. For minor HTML changes it's quite unusable waiting 20-30 seconds for a deployment.


I haven't used Jetty before, so I can't tell from experience if that long deployment times are normal nor how to optimize it. But I would just inform that this is dependent on the server and the server plugin used. In case of Apache Tomcat 6 + Eclipse-provided plugin and Sun Glassfish v3 + GF-provided plugin the auto deployments are fast enough. Especially Glassfish v3, which is relatively slow on startup, really excels with sub-second (hot)deployments.

First step would be to check if there are alternative Jetty Eclipse plugins and then try them and/or if there is a setting to lower the hotdeploy scan interval.


I use maven with configuration below

        <plugin>
            <groupId>org.mortbay.jetty</groupId>
            <artifactId>maven-jetty-plugin</artifactId>
            <version>6.1.25</version>
            <configuration>
                <scanIntervalSeconds>1</scanIntervalSeconds>
                <requestLog implementation="org.mortbay.jetty.NCSARequestLog">
                    <append>true</append>
                </requestLog>
            </configuration>
        </plugin>

so jetty scans for changes every second, and for my simple application it takes about 200ms to restart app. I noticed that sometimes yetty does not sees changes in jsp files


The problem you're describing might be this one. It is a known problem that static files are locked in Jetty on Windows - which might force you to redeploy. Normally you can just edit your files, you don't have to redeploy anything to see your changes. It works even with class modifications (well, to some extent).

This is the third time I advertise it today, but here's my approach for Jetty-based testing: Hifaces20 Testing.

ps. Hifaces20 Testing does not suffer from the file locking problem, it implements the suggested workaround.

链接地址: http://www.djcxy.com/p/45376.html

上一篇: 任何人遇到与VS2010缓慢构建?

下一篇: 如何开发Java Web应用程序而无需一直进行部署