My investigations so far: This is thrown by java/org/apache/catalina/webresources/StandardRoot.java
protected WebResourceSet createMainResourceSet() { String docBase = context.getDocBase(); WebResourceSet mainResourceSet; if (docBase == null) { mainResourceSet = new EmptyResourceSet(this); } else { File f = new File(docBase); if (!f.isAbsolute()) { f = new File(((Host)context.getParent()).getAppBaseFile(), f.getPath()); } if (f.isDirectory()) { mainResourceSet = new DirResourceSet(this, "/", f.getAbsolutePath(), "/"); } else if(f.isFile() && docBase.endsWith(".war")) { <<========== HERE mainResourceSet = new WarResourceSet(this, "/", f.getAbsolutePath()); } else { throw new IllegalArgumentException( sm.getString("standardRoot.startInvalidMain", f.getAbsolutePath())); } } return mainResourceSet; And just from the names of the used methods, I wonder that the root cause is the following change diff -r -u /var/tmp/portage/www-servers/tomcat-8.5.23/work/apache-tomcat-8.5.23-src/java/org/apache/catalina/startup/ContextConfig.java /var/tmp/portage/www-servers/tomcat-8.5.37/work/apache-tomcat-8.5.37-src/java/org/apache/catalina/startup/ContextConfig.java [...] @@ -589,7 +583,7 @@ File file = new File(docBase); if (!file.isAbsolute()) { - docBase = (new File(appBase, docBase)).getPath(); + docBase = (new File(appBase, docBase)).getCanonicalPath(); } else { docBase = file.getCanonicalPath(); } [...] (I'm going to check this out right now) May somebody point me to a ticket for the commit of this change and/or an issue ticket leading to this change? I want to know the motivation for this change and I want to please to find a solution to keep the old behavior. Because in my eyes, the current is inconsistent: For the context naming and so on, the well-known behavior is kept -- the context is named by the naming of the link itself and not of it's destination. And therefore, this should also hold for all other aspects greetings Guido >[...] >for deployment, with the newer Tomcat version I get the error > > 20190308-092433.557 ERROR [catalina-exec-38] [] [[/manager]] FAIL - > Application at context path [/foo] could not be >started > org.apache.catalina.LifecycleException: Failed to start component >[StandardEngine[Catalina].StandardHost[localhost].StandardContext[/foo]] > [...] > Caused by: java.lang.IllegalArgumentException: The main resource set > specified >[/some/fill/path/to/destination/bar.an_extension] is not valid > at > org.apache.catalina.webresources.StandardRoot.createMainResourceSet(Unknown > Source) > at > org.apache.catalina.webresources.StandardRoot.startInternal(Unknown Source) > ... 39 more --------------------------------------------------------------------- To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org