How to configure Jetty to reload a WebAppContext when classes are changed

Posted by Guss on Stack Overflow See other posts from Stack Overflow or by Guss
Published on 2012-03-19T09:11:25Z Indexed on 2012/03/19 10:04 UTC
Read the original article Hit count: 261

Filed under:
|
|

I'm developing a web application and I run Jetty as the development and testing environment when I develop under Eclipse.

When I make changes to Java classes, Eclipse automatically compiles them to the build directory, but Jetty won't see the changes until I stop and start the server. I know that Jetty supports "hot deployment" using ContextDeployer that will refresh updated application contexts, but it relies on a context file in a context directory being updated - which is not very useful in my case.

Is there a way to set up Jetty so that it will reload the web app when any of the classes it uses is updated?

My current jetty.xml looks something like this:

<?xml version="1.0"?>
<!DOCTYPE Configure PUBLIC "-//Jetty//Configure//EN" "http://www.eclipse.org/jetty/configure.dtd">
    <Configure id="Server" class="org.eclipse.jetty.server.Server">
        <Set name="ThreadPool"><!-- bla bla --></Set>
        <Call name="addConnector"><!-- bla bla --></Call>
        <Set name="handler">
          <New id="Handlers" class="org.eclipse.jetty.server.handler.HandlerCollection">
            <Set name="handlers">
             <Array type="org.eclipse.jetty.server.Handler">
               <Item>
                 <New id="webapp" class="org.eclipse.jetty.webapp.WebAppContext">
                   <Set name="displayName">My Web App</Set>
                   <Set name="resourceBase">src/main/webapp</Set>
                   <Set name="descriptor">src/main/webapp/WEB-INF/web.xml</Set>
                   <Set name="contextPath">/mywebapp</Set>
                 </New>
               </Item>
               <Item>
                 <New id="DefaultHandler" class="org.eclipse.jetty.server.handler.DefaultHandler"/>
               </Item>
             </Array>
            </Set>
          </New>
        </Set>
    </Configure>

© Stack Overflow or respective owner

Related posts about java

Related posts about eclipse