This issue was reported by eivindo on the #jetty forum:
<eivindjo> janb: the root cause is in ContextHandler.SContext.getResourceAsStream(String path)
<eivindjo> if the resource is located in a jar-file (war), it then calls java.net.URL.openStream which in turn calls several methods – until java.util.zip.ZipFile.ensureOpen() throws an IllegalStateException
<eivindjo> which in turn is catched in SontextHandler.Scontext above and null is returned.
<eivindjo> (line 1346 in v6.1.15)
<eivindjo> why the zip file is closed is another question, though.. :-/
<eivindjo> it may be related to the fact that the overlaid project is added one time to the context path each time a hot deploy is performed? as the resource loader will try to load from the first file handle, that might have been closed during the restart?
What is happening is that AbstractRunJettyMojo.java line 479 is retrieving the webapp.getBaseResource(), which will have been set on the previous deploy to contain the overlaid webapps, and then appending them
all over again.