David: Thank you. As I said, I am a tomcat ignoramus, glad someone is on top
of this.
Raju: I will try to get this into our build.xml soon. We now require 5.5, so
I see no reason to not make this the default.
(This whole conversation started because I was still running 5.0 and wondering
why the calendar demo was not working.)
On 2010-06-11, at 06:09, Raju Bitter wrote:
> Great, David, thanks! That works. Just one question: Is the Ant macro
> file your own code? Could that be added to the platform?
>
> Now using this target
>
> <target name="webapp.deploy" depends="init" unless="no.tomcat"
> description="Deploy lps webapp into tomcat5." >
> <tomcatDeployInPlace contextPath="/${build.branch}"
> docBase="${LPS_HOME}"/>
> </target>
>
> I can deploy/undeploy in the old way with Tomcat 6.0.
>
> @Tucker
> Should we add a switch to the Ant build file. If Tomcat 5.5+ is used,
> the new macro should be used to deploy the app.
>
> On Fri, Jun 11, 2010 at 1:38 AM, David Nault <[email protected]> wrote:
>> Here are some ant macros that automatically create a context file for
>> in-place deployment without the nasty side effects when the app is
>> undeployed.
>>
>> <import file="tomcat-manager-ant-macros.xml"/>
>>
>> <tomcatDeployInPlace contextPath="/somecontext"
>> docBase="/path/to/exploded/webapp"/>
>>
>>
>>
>>
>>
>>
>>
>> On Jun 10, 2010, at 2:45 PM, Raju Bitter wrote:
>>
>>> In the 5.0 docs I found regarding the undeploy command:
>>>
>>> "WARNING - This command will delete the contents of the web
>>> application directory and/or ".war" file if it exists within the
>>> appBase directory (typically "webapps") for this virtual host . The
>>> web application temporary work directory is also deleted. If you
>>> simply want to take an application out of service, you should use the
>>> /stop command instead."
>>>
>>> That would make sense. If you deploy an app through the local file
>>> system using a directory outside the appBase dir (normally
>>> $TOMCAT_HOME/webapps), an undeploy command will delete the webapp
>>> folder and the temp folder.
>>>
>>> Then I did some testing with Tomcat 6. If I use a context.xml file -
>>> which I place in the $LPS_HOME folder - I can use the Tomcat manager
>>> application to deploy and undeploy apps as we could with Tomcat 5.0.
>>>
>>> Here's the context.xml I'm using:
>>> <Context path="/trunk"
>>> docBase="/Users/rajubitter/src/svn/openlaszlo/trunk-work/"
>>> debug="0">
>>> </Context>
>>>
>>> I have that in my OL trunk folder:
>>> /Users/rajubitter/src/svn/openlaszlo/trunk-work
>>>
>>> In the Tomcat manager, I deploy a new webapp, using "/trunk" for the
>>> field "Context Path (required):".
>>> For the field "XML Configuration file URL:" I use
>>> "/Users/rajubitter/src/svn/openlaszlo/trunk-work/context.xml"
>>>
>>> When I undeploy the app, the directory is not deleted. Unfortunately,
>>> using the ANT script with an additional attribute
>>> config="${LPS_HOME}/context.xml"
>>> the directory content is still copied into the webapps folder. Here's
>>> the full XML for the ANT task I tested:
>>> <deploy url="${tom.url}"
>>> username="${tom.username}"
>>> password="${tom.password}"
>>> path="/${build.branch}"
>>> localWar="${LPS_HOME}"
>>> config="${LPS_HOME}/context.xml"
>>> />
>>>
>>> But at least you could quickly redeploy the webapp by using the URL
>>> http://localhost:8080/manager/html/reload?path=/trunk, if you have
>>> authenticated with Tomcat manager app.
>>>
>>>
>>> On Thu, Jun 10, 2010 at 11:10 PM, Raju Bitter
>>> <[email protected]> wrote:
>>>>
>>>> You could try to use web app stop and start tasks instead of redeploy.
>>>>
>>>> <target name="start"
>>>> description="start application on servlet container">
>>>> <echo message="app path: ${app.path}"/>
>>>> <start
>>>> url="${catalina.manager.url}"
>>>> username="${catalina.manager.username}"
>>>> password="${catalina.manager.password}"
>>>> path="${app.path}"/>
>>>> </target>
>>>> <target name="stop"
>>>> description="Stop application on servlet container">
>>>> <echo message="app path: ${app.path}"/>
>>>> <stop
>>>> url="${catalina.manager.url}"
>>>> username="${catalina.manager.username}"
>>>> password="${catalina.manager.password}"
>>>> path="${app.path}"/>
>>>> </target>
>>>>
>>>> On Thu, Jun 10, 2010 at 11:00 PM, Raju Bitter
>>>> <[email protected]> wrote:
>>>>>
>>>>> It should be in /tomcat/conf/Catalina/localhost
>>>>> In my case, I have a version of trunk deployed using the path
>>>>> /trunk-work, and here's the corresponding XML file's content:
>>>>> <?xml version='1.0' encoding='utf-8'?>
>>>>> <Context docBase="/Users/rajubitter/src/svn/openlaszlo/trunk-work"
>>>>> path="/trunk-work">
>>>>> </Context>
>>>>> The name of the generated file will be the same as the path you have
>>>>> chosen for the app.
>>>>> On Thu, Jun 10, 2010 at 10:55 PM, P T Withington <[email protected]> wrote:
>>>>>>
>>>>>> It looks like they must be. That's probably what's taking all the
>>>>>> tiem.
>>>>>>
>>>>>> Where is this context descriptor file of which you speak?
>>>>>>
>>>>>> I am a tomcat dummy.
>>>>>>
>>>>>> On 2010-06-10, at 16:43, Raju Bitter wrote:
>>>>>>
>>>>>>> Tucker, when you deploy the app, is the content being copied into
>>>>>>> Tomcat
>>>>>>> webapps folder? What is the content of the context descriptor file
>>>>>>> generated?
>>>>>>>
>>>>>>> On Thu, Jun 10, 2010 at 10:32 PM, Raju Bitter <
>>>>>>> [email protected]> wrote:
>>>>>>>
>>>>>>>> I had some problems when I used Java 6 with the error message javax
>>>>>>>> not
>>>>>>>> found, or something similar. That's the only thing I can remember,
>>>>>>>> Henry.
>>>>>>>>
>>>>>>>> Could it be an error with the docbase setting for the context?
>>>>>>>>
>>>>>>>>
>>>>>>>> On Thu, Jun 10, 2010 at 9:46 PM, Henry Minsky
>>>>>>>> <[email protected]>wrote:
>>>>>>>>
>>>>>>>>> Wasn't Raju complaining at one point about a newer version of
>>>>>>>>> tomcat
>>>>>>>>> copying all the files from the working dir into it's own dir instead
>>>>>>>>> ofjust
>>>>>>>>> running from the directory? Raju?
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> On Thu, Jun 10, 2010 at 3:40 PM, P T Withington <[email protected]>
>>>>>>>>> wrote:
>>>>>>>>>
>>>>>>>>>> And now webapp.deploy seems to take forever (1:43) and if emacs has
>>>>>>>>>> left
>>>>>>>>>> any .# temp files in WEB-INF tomcat silently declines to deploy my
>>>>>>>>>> servlet
>>>>>>>>>> (I guess) and serves up all my .lzx files as straight text.
>>>>>>>>>>
>>>>>>>>>> Looking for suggestions...
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> --
>>>>>>>>> Henry Minsky
>>>>>>>>> Software Architect
>>>>>>>>> [email protected]
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>
>>>>>>
>>>>>
>>>>
>>>
>>
>>
>>