Hi Henrik,

On 4 Dec 2005 at 3:33, hv @ Fashion Content wrote:

> Sigh :(
> 
> Gawd I hate changing Tomcat configurations, it always goes pearshaped.
> 
> Why does Tomcat say that there is no web.xml when it is in the war
> file when I unzip it???
> 
> And how come the default behaviour is to show the contents of the
> hosts app base ???
> 
> Tomcat 5.5.9 on FC2
> 
> partial server.xml:
> <Host name=".." appBase="fc_webapps" unpackWARs="true" 
> deployOnStartup="true" autoDeploy="false" xmlValidation="true">
> 
> context.xml:
> <Context docBase="ROOT" reloadable="true"></Context>
> 
> I have tried dropping the war in app base and restart the server. I
> have tried deploying using the manager app.
> 
> Regardless it doesn't unpack the war, and either throws a nullpointer
> exception or states that web.xml is missing
> 
> Que?

I had this one trouble me for some time until I worked out that it wasn't 
actually the web.xml file that was the problem, but rather my 
context.

A couple of suggestions/things to watch out for:

1.      Try a self-closing Context tag, ie <Context docBase="ROOT" 
reloadable="true"/> or else put something "substantial" 
between your opening and closing tags (ie not just a comment).  I think this 
problem may have been fixed with Tomcat 5.5.12, but in 
an earlier version, I definitely found that Tomcat would not accept the 
<Context ..></Context> format if there was nothing 
"substantial" between the opening and closing tags.  That one gave me exactly 
the error you are seeing now so it took me a while to 
work out what was going on.

2.      Make sure there's only one "context" file/fragment in your WAR file.  I 
have found that some versions of Tomcat are pretty 
good at ferreting out Context fragments from WAR files, even if they're not in 
the appropriate area (META-INF folder).  I had buried in 
my WAR tree (buried several levels deep in the WEB-INF directory actually) a 
context file that my deployment process would parse 
in order to produce the "production version" in META-INF.  Because it contained 
some tokens that were substituted by the 
deployment process, that precursor file was of course an invalid context.  
Until I had the deployment process exclude this file from 
my WAR file, I would get exactly the error you describe above whenever I tried 
to deploy.

HTH,

Rob Hills
NetPaver Pty Ltd
Western Australia

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to