Reputation: 1755
I'm trying to deploy a web app via tomcat manager by only specifying the context file, as described in the tomcat 7 documentation at http://tomcat.apache.org/tomcat-7.0-doc/manager-howto.html#Deploy_A_New_Application_from_a_Local_Path.
I'm issuing the following call to the manager http://myhost.mydomain.com:8080/manager/text/deploy?config=file:/opt/company/product/conf/mycontext.xml
The context file looks like the following :
<!DOCTYPE project>
<Context path="/myapp" docBase="/opt/company/product/lib/myapp.war" antiResourceLocking="false" >
</Context>
And the manager indicates an error : FAIL - Invalid context path null was specified.
Now I can deploy the app if I use the call that also provides the deployment url (path). However I would expect Tomcat to read my context file and determine by itself the path from the file definition.
Is this an issue in the tomcat 7 manager and is there a way of bypassing this ?
Thanks for any pointers
Upvotes: 3
Views: 3040
Reputation: 4168
As far as I can tell this is a bug with Tomcat (see comment from @devlearn).
To work around this limitation, I ended up relying on the Tomcat restart to do the initial deployment. Once Tomcat is aware of the application, then I can redeploy at will by stopping the application context, deleting the folder in webapps and manually unzipping the WAR file into a new folder that replaces the one I deleted. Ansible does all this work - I can revert back to using the Tomcat API when this bug is fixed.
Upvotes: 1