Hello,
I am having a problem with Tomcat 8 (v8.0.12), and uppercase context paths.
I am using the manager interface (text) to deploy apps on Linux with the
J2SE HotSpot JVM.
I deploy my application as a compressed WAR, and context.xml config. I
have tomcat configured to decompress the WAR in the webapps dir.
I traced the issue to HostConfig.java line 1226:
1225: String docBase = context.getDocBase();
1226: docBase = docBase.toLowerCase(Locale.ENGLISH);
1227: if (!docBase.endsWith(".war")) {
...
1234: ExpandWar.delete(docBaseFile);
My applications have uppercase characters in the context path. The
lowercase context path is passed to ExpandWar.delete, even though the
filesystem is case-sensitive (linux).
The unpacked webapp directory is not deleted, and ExpandWar reports no
errors (since it believes there was no directory to delete). Tomcat
reports a successful deployment in the Manager interface.
It seems like the toLowerCase call should be moved into the if statement,
or bound to a separate variable, so the physical dir would be deleted, and
the deployment would take effect.
Is there an undocumented requirement that context paths be lowercase, or is
this a bug?
--
Austin Jones