You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@tomcat.apache.org by Dave Robbins <dr...@drobbins.net> on 2002/09/06 18:51:26 UTC

war file deployment problem

Hello All,
kindof a newbie here so be gentle
I wrote a little dummy app with Forte 4.0 that consists of a jsp page with 
a link that calls a servlet which does a database lookup and spews out some 
data. It works fine with the built in copy of Tomcat that comes with Forte.
I build a war file and try to deploy it on another machine with Tomcat 
4.0.4 on it. I put my file dummy.war in the $CATALINA_HOME/webapps/dummy 
dir and use this command from a browser

http://localhost:8080/manager/install?
path=/dummy&war=jar:file:$CATALINA_HOME/webapps/dummy/dummy.war!/

now the command

http://localhost:8080/manager/install

tells me that my app is running, but when I try to access it with

http://localhost/dummy or http://localhost/dummy/index.jsp it says the 
resource is not available. I kinda thought Tomcat could access the war file 
in it's bundled state but after reading the docs I got the impression the 
manager app was gonna expand it, is that true? In my case the file wasn't 
expanded. After some head scratching I figured I'd manually expand the war 
file in the $CATALINA_HOME/ROOT dir. After doing that and restarting Tomcat 
everything works fine with http://localhost/index.jsp.
 
So, let me ask a few questions

1) What does the manager app do
does it modify $CATALINA_HOME/conf/server.xml
should it expand the war file

2)If I'm gonna deploy multiple apps, what's the typical dir structure
$CATALINA_HOME/ROOT/app1, $CATALINA_HOME/ROOT/app2, etc
could i deploy an app outside the Tomcat dir structure (ie /home/mydir)

3)Is this the correct flow of things
Tomcat starts up and reads $CATALINA_HOME/conf/server.xml and now knows 
about the apps that are installed and what path they're mapped to. when a 
client tries to access an app, Tomcat goes and looks in the jar file and 
reads web.xml to discover what all is in the war file. Within the war file 
any static content goes in the WEB-INF dir, class files go in WEB-
INF/classes and .jar files goe in WEB-INF/lib

hep me, hep me

Dave    



--
To unsubscribe, e-mail:   <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>


Re: war file deployment problem

Posted by Dave Robbins <dr...@drobbins.net>.
Thanks a million for the quick feedback
I've got things working now
Once you see how this works it's pretty easy, but I must say getting here 
was kinda tuff
maybe when I get a little further along I'll make up a little tutorial 
titled

how to tie your shoes
before you learn to walk
before you learn to run

Thanx Again

Dave
> You are confusing Tomcat.  If you are going to dynamically deploy your
> webapp, don't have the .war file sitting in $TOMCAT_HOME/webapps.  Have
> it somewhere else.  Everything in $TOMCAT_HOME/webapps is automatically
> deployed and, yes, it is expanded if you *don't* have a Context entry
> defined for that webapp.
> 
> when you install like you are, there is already a webapp defined for
> the path you are specifying.  Now you install another webapp under the
> same name.  I don't know how Tomcat handles this situation, but it
> looks as if it hoses the webapp entry.  Make sure to name your webapps
> uniquely and don't put any .war files or expanded directories that you
> plan on dynamically installing through the manager in Tomcat's default
> auto-deploy directory (webapps).
> 
> Jake
> 
> Quoting Dave Robbins <dr...@drobbins.net>:
> 
>> Hello All,
>> kindof a newbie here so be gentle
>> I wrote a little dummy app with Forte 4.0 that consists of a jsp page
>> with  a link that calls a servlet which does a database lookup and
>> spews out some
>> 
>> data. It works fine with the built in copy of Tomcat that comes with
>> Forte. I build a war file and try to deploy it on another machine with
>> Tomcat  4.0.4 on it. I put my file dummy.war in the
>> $CATALINA_HOME/webapps/dummy  dir and use this command from a browser
>> 
>> http://localhost:8080/manager/install?
>> path=/dummy&war=jar:file:$CATALINA_HOME/webapps/dummy/dummy.war!/
>> 
>> now the command
>> 
>> http://localhost:8080/manager/install
>> 
>> tells me that my app is running, but when I try to access it with
>> 
>> http://localhost/dummy or http://localhost/dummy/index.jsp it says the
>>  resource is not available. I kinda thought Tomcat could access the
>> war file
>> 
>> in it's bundled state but after reading the docs I got the impression
>> the  manager app was gonna expand it, is that true? In my case the
>> file wasn't  expanded. After some head scratching I figured I'd
>> manually expand the war  file in the $CATALINA_HOME/ROOT dir. After
>> doing that and restarting Tomcat
>> 
>> everything works fine with http://localhost/index.jsp.
>>  
>> So, let me ask a few questions
>> 
>> 1) What does the manager app do
>> does it modify $CATALINA_HOME/conf/server.xml
>> should it expand the war file
>> 
>> 2)If I'm gonna deploy multiple apps, what's the typical dir structure
>> $CATALINA_HOME/ROOT/app1, $CATALINA_HOME/ROOT/app2, etc
>> could i deploy an app outside the Tomcat dir structure (ie
>> /home/mydir)
>> 
>> 3)Is this the correct flow of things
>> Tomcat starts up and reads $CATALINA_HOME/conf/server.xml and now
>> knows  about the apps that are installed and what path they're mapped
>> to. when a  client tries to access an app, Tomcat goes and looks in
>> the jar file and  reads web.xml to discover what all is in the war
>> file. Within the war file  any static content goes in the WEB-INF dir,
>> class files go in WEB- INF/classes and .jar files goe in WEB-INF/lib
>> 
>> hep me, hep me
>> 
>> Dave    
>> 
>> 
>> 
>> --
>> To unsubscribe, e-mail:  
>> <ma...@jakarta.apache.org>
>> For additional commands, e-mail:
>> <ma...@jakarta.apache.org>
>> 
> 
> 
> 
> --
> To unsubscribe, e-mail:  
> <ma...@jakarta.apache.org> For additional
> commands, e-mail: <ma...@jakarta.apache.org>



--
To unsubscribe, e-mail:   <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>


Re: war file deployment problem

Posted by ho...@visi.com.
You are confusing Tomcat.  If you are going to dynamically deploy your webapp,
don't have the .war file sitting in $TOMCAT_HOME/webapps.  Have it somewhere
else.  Everything in $TOMCAT_HOME/webapps is automatically deployed and, yes, it
is expanded if you *don't* have a Context entry defined for that webapp.

when you install like you are, there is already a webapp defined for the path
you are specifying.  Now you install another webapp under the same name.  I
don't know how Tomcat handles this situation, but it looks as if it hoses the
webapp entry.  Make sure to name your webapps uniquely and don't put any .war
files or expanded directories that you plan on dynamically installing through
the manager in Tomcat's default auto-deploy directory (webapps).

Jake

Quoting Dave Robbins <dr...@drobbins.net>:

> Hello All,
> kindof a newbie here so be gentle
> I wrote a little dummy app with Forte 4.0 that consists of a jsp page with 
> a link that calls a servlet which does a database lookup and spews out some
> 
> data. It works fine with the built in copy of Tomcat that comes with Forte.
> I build a war file and try to deploy it on another machine with Tomcat 
> 4.0.4 on it. I put my file dummy.war in the $CATALINA_HOME/webapps/dummy 
> dir and use this command from a browser
> 
> http://localhost:8080/manager/install?
> path=/dummy&war=jar:file:$CATALINA_HOME/webapps/dummy/dummy.war!/
> 
> now the command
> 
> http://localhost:8080/manager/install
> 
> tells me that my app is running, but when I try to access it with
> 
> http://localhost/dummy or http://localhost/dummy/index.jsp it says the 
> resource is not available. I kinda thought Tomcat could access the war file
> 
> in it's bundled state but after reading the docs I got the impression the 
> manager app was gonna expand it, is that true? In my case the file wasn't 
> expanded. After some head scratching I figured I'd manually expand the war 
> file in the $CATALINA_HOME/ROOT dir. After doing that and restarting Tomcat
> 
> everything works fine with http://localhost/index.jsp.
>  
> So, let me ask a few questions
> 
> 1) What does the manager app do
> does it modify $CATALINA_HOME/conf/server.xml
> should it expand the war file
> 
> 2)If I'm gonna deploy multiple apps, what's the typical dir structure
> $CATALINA_HOME/ROOT/app1, $CATALINA_HOME/ROOT/app2, etc
> could i deploy an app outside the Tomcat dir structure (ie /home/mydir)
> 
> 3)Is this the correct flow of things
> Tomcat starts up and reads $CATALINA_HOME/conf/server.xml and now knows 
> about the apps that are installed and what path they're mapped to. when a 
> client tries to access an app, Tomcat goes and looks in the jar file and 
> reads web.xml to discover what all is in the war file. Within the war file 
> any static content goes in the WEB-INF dir, class files go in WEB-
> INF/classes and .jar files goe in WEB-INF/lib
> 
> hep me, hep me
> 
> Dave    
> 
> 
> 
> --
> To unsubscribe, e-mail:  
> <ma...@jakarta.apache.org>
> For additional commands, e-mail:
> <ma...@jakarta.apache.org>
> 



--
To unsubscribe, e-mail:   <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>


Re: war file deployment problem

Posted by Dave Robbins <dr...@drobbins.net>.
What? Me make it more complicated than it is?
surely you jest!

I got it to work by putting the war file in $CATALINA_HOME/webapps/ROOT 
I still don't know what I'm doing but I'll be able to figure it out now 
that I've got something working.

Thanks
Dave 
> Hi Dave.
> 
> I think you're making this more complicated than it needs to be.
> 
> Two things:
> 1. Try putting your war file in the $CATALINA_HOME/webapps directory
> rather than
>  $CATALINA_HOME/webapps/dummy.  If your tomcat installation is set up
>  to unpack
> war files (this is the default) it will create the "dummy" webapp
> directory for you and unpack everything into that directory when you
> restart tomcat.
> 
> 2. The URL to use to access your webapp will also have to use port
> 8080.  Unless you've modified your server.xml file and you're running
> tomcat as root that is.  This set up will work with the out of the box
> tomcat installation.  No need to modify server.xml at all.
> 
> You should then be able to access your app like this:
> http://localhost:8080/dummy
> 
> See if that simplifies things.
> 
> Regards,
> Pete  
> 
> On Fri, 6 Sep 2002 12:51:26 -0400 (EDT)
> "Dave Robbins" <dr...@drobbins.net> wrote:
> 
>> Hello All,
>> kindof a newbie here so be gentle
>> I wrote a little dummy app with Forte 4.0 that consists of a jsp page
>> with  a link that calls a servlet which does a database lookup and
>> spews out some  data. It works fine with the built in copy of Tomcat
>> that comes with Forte. I build a war file and try to deploy it on
>> another machine with Tomcat  4.0.4 on it. I put my file dummy.war in
>> the $CATALINA_HOME/webapps/dummy  dir and use this command from a
>> browser
>> 
>> http://localhost:8080/manager/install?
>> path=/dummy&war=jar:file:$CATALINA_HOME/webapps/dummy/dummy.war!/
>> 
>> now the command
>> 
>> http://localhost:8080/manager/install
>> 
>> tells me that my app is running, but when I try to access it with
>> 
>> http://localhost/dummy or http://localhost/dummy/index.jsp it says the
>>  resource is not available. I kinda thought Tomcat could access the
>> war file  in it's bundled state but after reading the docs I got the
>> impression the  manager app was gonna expand it, is that true? In my
>> case the file wasn't  expanded. After some head scratching I figured
>> I'd manually expand the war  file in the $CATALINA_HOME/ROOT dir.
>> After doing that and restarting Tomcat  everything works fine with
>> http://localhost/index.jsp.
>>  
>> So, let me ask a few questions
>> 
>> 1) What does the manager app do
>> does it modify $CATALINA_HOME/conf/server.xml
>> should it expand the war file
>> 
>> 2)If I'm gonna deploy multiple apps, what's the typical dir structure
>> $CATALINA_HOME/ROOT/app1, $CATALINA_HOME/ROOT/app2, etc
>> could i deploy an app outside the Tomcat dir structure (ie
>> /home/mydir)
>> 
>> 3)Is this the correct flow of things
>> Tomcat starts up and reads $CATALINA_HOME/conf/server.xml and now
>> knows  about the apps that are installed and what path they're mapped
>> to. when a  client tries to access an app, Tomcat goes and looks in
>> the jar file and  reads web.xml to discover what all is in the war
>> file. Within the war file  any static content goes in the WEB-INF dir,
>> class files go in WEB- INF/classes and .jar files goe in WEB-INF/lib
>> 
>> hep me, hep me
>> 
>> Dave    
>> 
>> 
>> 
>> --
>> To unsubscribe, e-mail:  
>> <ma...@jakarta.apache.org> For additional
>> commands, e-mail: <ma...@jakarta.apache.org>
>> 
> 
> 
> --
> Peter Davison
> peterdavison@rogers.com
> 
> ...the increased productivity fostered by a friendly environment and
> quality tools is essential to meet ever increasing demands for
> software.
> -- M. D. McIlroy, E. N. Pinson and B. A. Tague
> 
> --
> To unsubscribe, e-mail:  
> <ma...@jakarta.apache.org> For additional
> commands, e-mail: <ma...@jakarta.apache.org>



--
To unsubscribe, e-mail:   <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>


Re: war file deployment problem

Posted by Peter Davison <pe...@rogers.com>.
Hi Dave.

I think you're making this more complicated than it needs to be.

Two things:
1. Try putting your war file in the $CATALINA_HOME/webapps directory rather than
 $CATALINA_HOME/webapps/dummy.  If your tomcat installation is set up to unpack
war files (this is the default) it will create the "dummy" webapp directory for
you and unpack everything into that directory when you restart tomcat.

2. The URL to use to access your webapp will also have to use port 8080.  Unless
you've modified your server.xml file and you're running tomcat as root that is. 
This set up will work with the out of the box tomcat installation.  No need to
modify server.xml at all.

You should then be able to access your app like this:
http://localhost:8080/dummy

See if that simplifies things.

Regards,
Pete  

On Fri, 6 Sep 2002 12:51:26 -0400 (EDT)
"Dave Robbins" <dr...@drobbins.net> wrote:

> Hello All,
> kindof a newbie here so be gentle
> I wrote a little dummy app with Forte 4.0 that consists of a jsp page with 
> a link that calls a servlet which does a database lookup and spews out some 
> data. It works fine with the built in copy of Tomcat that comes with Forte.
> I build a war file and try to deploy it on another machine with Tomcat 
> 4.0.4 on it. I put my file dummy.war in the $CATALINA_HOME/webapps/dummy 
> dir and use this command from a browser
> 
> http://localhost:8080/manager/install?
> path=/dummy&war=jar:file:$CATALINA_HOME/webapps/dummy/dummy.war!/
> 
> now the command
> 
> http://localhost:8080/manager/install
> 
> tells me that my app is running, but when I try to access it with
> 
> http://localhost/dummy or http://localhost/dummy/index.jsp it says the 
> resource is not available. I kinda thought Tomcat could access the war file 
> in it's bundled state but after reading the docs I got the impression the 
> manager app was gonna expand it, is that true? In my case the file wasn't 
> expanded. After some head scratching I figured I'd manually expand the war 
> file in the $CATALINA_HOME/ROOT dir. After doing that and restarting Tomcat 
> everything works fine with http://localhost/index.jsp.
>  
> So, let me ask a few questions
> 
> 1) What does the manager app do
> does it modify $CATALINA_HOME/conf/server.xml
> should it expand the war file
> 
> 2)If I'm gonna deploy multiple apps, what's the typical dir structure
> $CATALINA_HOME/ROOT/app1, $CATALINA_HOME/ROOT/app2, etc
> could i deploy an app outside the Tomcat dir structure (ie /home/mydir)
> 
> 3)Is this the correct flow of things
> Tomcat starts up and reads $CATALINA_HOME/conf/server.xml and now knows 
> about the apps that are installed and what path they're mapped to. when a 
> client tries to access an app, Tomcat goes and looks in the jar file and 
> reads web.xml to discover what all is in the war file. Within the war file 
> any static content goes in the WEB-INF dir, class files go in WEB-
> INF/classes and .jar files goe in WEB-INF/lib
> 
> hep me, hep me
> 
> Dave    
> 
> 
> 
> --
> To unsubscribe, e-mail:   <ma...@jakarta.apache.org>
> For additional commands, e-mail: <ma...@jakarta.apache.org>
> 


--
Peter Davison
peterdavison@rogers.com

...the increased productivity fostered by a friendly environment and quality
tools is essential to meet ever increasing demands for software.
-- M. D. McIlroy, E. N. Pinson and B. A. Tague

--
To unsubscribe, e-mail:   <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>