I found out that the appBase-attribute (server.xml) is not relative to $CATALINA_HOME. It's relative to $CATALINA_BASE unless it's specified an absolute pathname. In the documentation http://jakarta.apache.org/tomcat/tomcat-5.0-doc/config/host.html you write for the appBase-attribute: "...You may specify an absolute pathname for this directory, or a pathname that is relative to the $CATALINA_HOME directory..." But in the sourcecode of HostConfig.java I found this: protected File appBase() { if (appBase != null) { return appBase; } File file = new File(host.getAppBase()); if (!file.isAbsolute()) file = new File(System.getProperty("catalina.base"), host.getAppBase()); try { appBase = file.getCanonicalFile(); } catch (IOException e) { appBase = file; } return (appBase); } It should be correct in the documentation, because it's bit confusing. I tested it with Tomcat 5.0.27 but I check the actual code in CVS, it's the same.
Fixed for 5.0.31 and 5.5.6. Thanks for pointing this out.