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

Reply via email to