Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Fixed
-
1.5
-
None
-
Operating System: other
Platform: Other
-
37034
Description
This was originally filed against Beehive as
http://issues.apache.org/jira/browse/BEEHIVE-960 , but I've narrowed it down to
either a Digester issue or a Tomcat issue. Tomcat seems to suggest that this is
an issue related to getting resources out of a JAR:
- http://issues.apache.org/bugzilla/show_bug.cgi?id=33830
- http://jakarta.apache.org/tomcat/faq/windows.html#lock
Specifically, Tomcat turned off the behavior that prevents locking of JARs under
Windows. They did this to improve startup time. I don't necessarily agree with
this choice as a default, but if you believe their bug comments and FAQ, this
actually just exposes Windows-specific bugs in the way resources are read out of
JARs.
To reproduce this:
- Run 'ant build war' in the attached directory.
- Copy strutsRedeploy.war into $CATALINA_HOME/webapps.
- Verify that there is a fully-extracted webapp under
$CATALINA_HOME/webapps/strutsRedeploy. - Copy strutsRedeploy.war (again) into $CATALINA_HOME/webapps.
Now look in $CATALINA_HOME/webapps/strutsRedeploy – it failed to redeploy, and
the only file left in there is WEB-INF/lib/struts.jar.
I'm attaching a Digester patch that fixes the issue.
Note: the fix for this issue belongs in one of three places:
- Tomcat (which has rejected working around it since it impacts startup time)
- Digester
- XML support in the JDK
Hopefully you'll choose Digester.