How to set the context path of a web application in Tomcat 7.0
Solution 1:
What you can do is the following;
Add a file called ROOT.xml
in <catalina_home>/conf/Catalina/localhost/
This ROOT.xml will override the default settings for the root context of the tomcat installation for that engine and host (Catalina and localhost).
Enter the following to the ROOT.xml file;
<Context
docBase="<yourApp>"
path=""
reloadable="true"
/>
Here, <yourApp>
is the name of, well, your app.. :)
And there you go, your application is now the default application and will show up on http://localhost:8080
However, there is one side effect; your application will be loaded twice. Once for localhost:8080
and once for localhost:8080/yourApp
. To fix this you can put your application OUTSIDE <catalina_home>/webapps
and use a relative or absolute path in the ROOT.xml's docBase tag. Something like this;
<Context
docBase="/opt/mywebapps/<yourApp>"
path=""
reloadable="true"
/>
And then it should be all OK!
Solution 2:
This is the the only solution that worked for me. Add the following to the Host node
in the conf/server.xml
file.
<Context path="" docBase="yourAppContextName">
<!-- Default set of monitored resources -->
<WatchedResource>WEB-INF/web.xml</WatchedResource>
</Context>
Update:
It can be either in : conf/server.xml
or in : conf/context.xml