Hi

we use an embedded Tomcat and are trying to update from version 7.0.40 to
> 7.0.61. The the embedded tomcat instance starts up fine and our webapp is
> also running. However we get the following warning:
> Apr 28, 2015 8:58:58 AM org.apache.catalina.startup.Tomcat
> getWebappConfigFileFromJar
> WARNING: Unable to determine web application context.xml webapp-name
> java.io.FileNotFoundException: webapp-name (System cannot find file)
>         at java.util.zip.ZipFile.open(Native Method)
>         at java.util.zip.ZipFile.<init>(ZipFile.java:215)
>         at java.util.zip.ZipFile.<init>(ZipFile.java:145)
>         at java.util.jar.JarFile.<init>(JarFile.java:153)
>         at java.util.jar.JarFile.<init>(JarFile.java:117)
>         at org.apache.catalina.startup.Tomcat.getWebappConfigFileFromJa
> r(Tomcat.java:1162)
>         at org.apache.catalina.startup.Tomcat.getWebappConfigFile(Tomca
> t.java:1140)
>         at org.apache.catalina.startup.Tomcat.addWebapp(Tomcat.java:543)
>         at org.apache.catalina.startup.Tomcat.addWebapp(Tomcat.java:524)
>         at org.apache.catalina.startup.Tomcat.addWebapp(Tomcat.java:206)
> (Notice, that "webapp-name" is not the actual name and "System cannot find
> file" is a translation of the original German message)
>
> Our start-up process looks like this:
> this.tomcat = new Tomcat();
> this.tomcat.setBaseDir(".");
> this.tomcat.getHost().setAutoDeploy(false);
> this.tomcat.getHost().setDeployOnStartup(false);
> this.tomcat.setPort(port);
> final StandardContext webAppCtx = (StandardContext)
> this.tomcat.addWebapp("/weppapp-name", "webapp-name");


Here parameters should be context and the base path

The directory structure looks like this, while working directory is
> "Application-Home": /Application-Home/webapps/webapp-name
> We noticed that in Tomcat.getWebappConfigFileFromJar(Tomcat.java:1162),
> there is the following code:
>  protected URL getWebappConfigFile(String path, String url) {
>         File docBase = new File(path);
>         if (docBase.isDirectory()) {
>             return getWebappConfigFileFromDirectory(docBase, url);
>         } else {
>             return getWebappConfigFileFromJar(docBase, url);
>         }
>     }
> The parameter "path" is "webapp-name" and the parameter "url" is
> "/webapp-name".  With the working dir being "Application-Home", new
> File(path) will resolve to "/Application-Home/webapp-name", which does
> not exist. Hence, Tomcat is proceeding to load the config file from a jar
> file, which leads to the warning mentioned above.
> My questions are:
> - What are the correct parameters for Tomcat.addWebapp(String contextPath,
> String docBase)?


first parameter is the context of your web app and the 2nd parameter is the
base directory/absolute path

- Is there a special working directory expected, while using an embedded
Tomcat?

2015-04-28 15:06 GMT+05:30 Benjamin Rogge <tom...@benjamin-rogge.de>:

> Hello,
> we use an embedded Tomcat and are trying to update from version 7.0.40 to
> 7.0.61. The the embedded tomcat instance starts up fine and our webapp is
> also running. However we get the following warning:
>
> Apr 28, 2015 8:58:58 AM org.apache.catalina.startup.Tomcat
> getWebappConfigFileFromJar
> WARNING: Unable to determine web application context.xml webapp-name
> java.io.FileNotFoundException: webapp-name (System cannot find file)
>         at java.util.zip.ZipFile.open(Native Method)
>         at java.util.zip.ZipFile.<init>(ZipFile.java:215)
>         at java.util.zip.ZipFile.<init>(ZipFile.java:145)
>         at java.util.jar.JarFile.<init>(JarFile.java:153)
>         at java.util.jar.JarFile.<init>(JarFile.java:117)
>         at
> org.apache.catalina.startup.Tomcat.getWebappConfigFileFromJar(Tomcat.java:1162)
>         at
> org.apache.catalina.startup.Tomcat.getWebappConfigFile(Tomcat.java:1140)
>         at org.apache.catalina.startup.Tomcat.addWebapp(Tomcat.java:543)
>         at org.apache.catalina.startup.Tomcat.addWebapp(Tomcat.java:524)
>         at org.apache.catalina.startup.Tomcat.addWebapp(Tomcat.java:206)
>
> (Notice, that "webapp-name" is not the actual name and "System cannot find
> file" is a translation of the original German message)
>
>
> Our start-up process looks like this:
>
> this.tomcat = new Tomcat();
> this.tomcat.setBaseDir(".");
> this.tomcat.getHost().setAutoDeploy(false);
> this.tomcat.getHost().setDeployOnStartup(false);
> this.tomcat.setPort(port);
> final StandardContext webAppCtx = (StandardContext)
> this.tomcat.addWebapp("/weppapp-name", "webapp-name");
>
> The directory structure looks like this, while working directory is
> "Application-Home": /Application-Home/webapps/webapp-name
>
> We noticed that in Tomcat.getWebappConfigFileFromJar(Tomcat.java:1162),
> there is the following code:
>  protected URL getWebappConfigFile(String path, String url) {
>         File docBase = new File(path);
>         if (docBase.isDirectory()) {
>             return getWebappConfigFileFromDirectory(docBase, url);
>         } else {
>             return getWebappConfigFileFromJar(docBase, url);
>         }
>     }
>
> The parameter "path" is "webapp-name" and the parameter "url" is
> "/webapp-name".  With the working dir being "Application-Home", new
> File(path) will resolve to "/Application-Home/webapp-name", which does not
> exist. Hence, Tomcat is proceeding to load the config file from a jar file,
> which leads to the warning mentioned above.
>
> My questions are:
> - What are the correct parameters for Tomcat.addWebapp(String contextPath,
> String docBase)?
> - Is there a special working directory expected, while using an embedded
> Tomcat?
>
> Thanks in advance for any support,
> Benjamin Rogge
>
>
>
>
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
> For additional commands, e-mail: users-h...@tomcat.apache.org
>
>


--

Reply via email to