On Aug 27, 2008, at 9:02 AM, David Avendasora wrote:
> You are likely correct that I've been lucky.
>
> My windows CLSSPATH.TXT does reflect the bad path, but my web.xml
> has the right one. Does the web.xml override the classpath files for
> a servlet?
I don't use Tomcat, but my expectation is that web.xml would be in
control and the other classpath stuff irrelevant.
Chuck
>
>
> I really don't fully understand the inner-workings of WO when it
> comes to deployment. I just know that what I currently have works on
> 3 different Tomcat installs.
>
> Dave
>
>
> On Aug 27, 2008, at 10:37 AM, Stefan Klein wrote:
>
>> Then your a lucky man.
>> But how did Tomcat find your Application class. The Windows class
>> path file has the same error as the one that is fixed in the <!--
>> fix the Macos*ClassPath.txt files --> section.
>>
>> Stefan
>>
>> David Avendasora schrieb:
>>> Interesting. I have been deploying to a WAR that runs in Tomcat on
>>> Windows Server 2000/2003 and OS X and I don't have to make any of
>>> these changes.
>>>
>>> Dave
>>>
>>>
>>> On Aug 27, 2008, at 7:41 AM, Stefan Klein wrote:
>>>
>>>> Hi,
>>>>
>>>> I tried out the war generation (Eclipse 3.3; WOLips 3.3.5390,
>>>> WinXP, WO 5.2.4).
>>>> To get it work i had to change some lines.
>>>> You can find the changes in the attachment (search for SWK).
>>>> I think some of the changes are relevant for Mac OS as well.
>>>>
>>>> Stefan
>>>> <project name="FlussWin54" default="build" basedir=".">
>>>>
>>>> <!-- main targets -->
>>>> <!-- add optional targets to depends list if needed -->
>>>> <target name="build"
>>>> depends="setProps,init.build,build.woapp,ssdd,war" />
>>>>
>>>> <target name="compileAndBuild"
>>>> depends="setProps,init.build,compile,build.woapp,ssdd,war" />
>>>>
>>>> <target name="install"
>>>> depends="setProps,init.install,build.woapp,ssdd,war" />
>>>>
>>>> <target name="clean" depends="setProps">
>>>> <delete dir="dist" />
>>>> </target>
>>>>
>>>> <!-- property determination -->
>>>> <target name="setProps">
>>>> <property file="${user.home}$
>>>> {file.separator}build.properties" />
>>>> <property file="build.properties" />
>>>> <property file="${user.home}${file.separator}Library$
>>>> {file.separator}wobuild.properties" />
>>>> <condition property="wo.properties.check.failed">
>>>> <not>
>>>> <and>
>>>> <isset property="wo.wosystemroot" />
>>>> <isset property="wo.wolocalroot" />
>>>> </and>
>>>> </not>
>>>> </condition>
>>>> <fail message="Could not find ${user.home}$
>>>> {file.separator}Library${file.separator}wobuild.properties."
>>>> if="wo.properties.check.failed" />
>>>> <property name="install.dir" value="${wo.wolocalroot}/
>>>> Library/WebObjects/Applications" />
>>>> </target>
>>>>
>>>> <!-- basic initializations -->
>>>> <target name="init.install">
>>>> <tstamp />
>>>> <property name="dest.dir" value="${install.dir}" />
>>>> </target>
>>>>
>>>> <target name="init.build">
>>>> <tstamp />
>>>> <property name="dest.dir" value="dist" />
>>>> </target>
>>>>
>>>> <!-- woproject tasks -->
>>>> <target name="build.woapp">
>>>>
>>>> <taskdef name="woapplication"
>>>> classname="org.objectstyle.woproject.ant.WOApplication">
>>>> </taskdef>
>>>>
>>>> <!-- add webXML="true" to generate a web.xml file -->
>>>> <woapplication name="${project.name}" stdFrameworks="false"
>>>> destDir="${dest.dir}" customInfoPListContent="$
>>>> {customInfoPListContent}" principalClass="${principalClass}"
>>>> webXML="${webXML}" webXML_CustomContent="${webXML_CustomContent}">
>>>> <classes dir="${classes.dir}">
>>>> <patternset>
>>>> <includesfile name="woproject/
>>>> classes.include.patternset" />
>>>> <excludesfile name="woproject/
>>>> classes.exclude.patternset" />
>>>> </patternset>
>>>> </classes>
>>>> <wsresources dir="WebServerResources">
>>>> <patternset>
>>>> <include name="**/*" />
>>>> <exclude name="CVS" />
>>>> <exclude name=".svn" />
>>>> <excludesfile name="woproject/
>>>> wsresources.exclude.patternset" />
>>>> </patternset>
>>>> </wsresources>
>>>> <resources dir="Resources">
>>>> <patternset>
>>>> <include name="**/*" />
>>>> <exclude name="CVS" />
>>>> <exclude name=".svn" />
>>>> <excludesfile name="woproject/
>>>> resources.exclude.patternset" />
>>>> </patternset>
>>>> </resources>
>>>> <resources dir="Components">
>>>> <patternset>
>>>> <include name="**/*" />
>>>> <exclude name="CVS" />
>>>> <exclude name=".svn" />
>>>> <excludesfile name="woproject/
>>>> resources.exclude.patternset" />
>>>> </patternset>
>>>> </resources>
>>>> <frameworks root="${wo.wolocalroot}" embed="$
>>>> {servletDeployment}">
>>>> <patternset>
>>>> <includesfile name="woproject/
>>>> ant.frameworks.wo.wolocalroot" />
>>>> </patternset>
>>>> </frameworks>
>>>> <frameworks root="${user.home}" embed="$
>>>> {servletDeployment}">
>>>> <patternset>
>>>> <includesfile name="woproject/
>>>> ant.frameworks.user.home" />
>>>> </patternset>
>>>> </frameworks>
>>>> <frameworks root="${wo.wosystemroot}" embed="$
>>>> {servletDeployment}">
>>>> <patternset>
>>>> <includesfile name="woproject/
>>>> ant.frameworks.wo.wosystemroot" />
>>>> </patternset>
>>>> </frameworks>
>>>> <otherclasspath root="${wo.wosystemroot}">
>>>> <patternset>
>>>> <includesfile name="woproject/
>>>> ant.classpaths.wo.wosystemroot" />
>>>> </patternset>
>>>> </otherclasspath>
>>>> <lib dir="Libraries">
>>>> <include name="*.jar" />
>>>> <exclude name="**/*.woa/**" />
>>>> </lib>
>>>> </woapplication>
>>>> </target>
>>>>
>>>> <!-- optional targets -->
>>>>
>>>> <!-- war target-->
>>>> <!-- To use this target remove the if="${never}" statement and
>>>> follow the instructions for the ssdd target -->
>>>> <target name="war" if="servletDeployment" depends="ssdd">
>>>> <war destfile="${dest.dir}/${project.name}.war" webxml="$
>>>> {dest.dir}/${project.name}/WEB-INF/web.xml">
>>>> <fileset dir="${dest.dir}/${project.name}">
>>>> <include name="**" />
>>>> </fileset>
>>>> </war>
>>>> </target>
>>>>
>>>> <!-- ssdd target-->
>>>> <!-- To use this target
>>>> 1) remove the if="${never}" statement
>>>> 2) change embed=true in the woapp target above
>>>> 3) create the LICENSE in your project directory
>>>> 4) add JavaWOJSPServlet in your WOFrameworks build path
>>>> 5) Edit the build.properties file
>>>> 6) set webXML = true
>>>> -->
>>>> <target name="ssdd" if="servletDeployment" depends="build.woapp">
>>>> <mkdir dir="${dest.dir}/${project.name}/WEB-INF/classes" />
>>>> <mkdir dir="${dest.dir}/${project.name}/WEB-INF/tlds" />
>>>> <copy todir="${dest.dir}/${project.name}/WEB-INF/">
>>>> <fileset dir="${dest.dir}/${project.name}.woa/Contents/">
>>>> <include name="web.xml" />
>>>> </fileset>
>>>> </copy>
>>>> <copy todir="${dest.dir}/${project.name}/WEB-INF/">
>>>> <fileset dir="."> <!-- SWK fix: replace ".." with "." -->
>>>> <include name="LICENSE" />
>>>> </fileset>
>>>> </copy>
>>>> <copy todir="${dest.dir}/${project.name}/WEB-INF/">
>>>> <fileset dir="${dest.dir}">
>>>> <include name="${project.name}.woa/**" />
>>>> </fileset>
>>>> </copy>
>>>> <!-- copy the frameworks to the WEBINFROOT/Library
>>>> directory -->
>>>> <copy todir="${dest.dir}/${project.name}/WEB-INF/">
>>>> <fileset dir="${dest.dir}/${project.name}.woa/Contents">
>>>> <include name="Library/**" />
>>>> </fileset>
>>>> </copy>
>>>> <copy todir="${dest.dir}/${project.name}/WEB-INF/">
>>>> <fileset dir="${dest.dir}/${project.name}.woa">
>>>> <include name="Resources/**" />
>>>> </fileset>
>>>> </copy>
>>>> <copy todir="${dest.dir}/${project.name}/WEB-INF/lib/">
>>>> <fileset dir="${dest.dir}/${project.name}/WEB-INF">
>>>> <include name="**/Resources/**/*.jar" />
>>>> </fileset>
>>>> <mapper type="flatten" />
>>>> </copy>
>>>>
>>>> <!-- Get the necessary Frameworks from the webobjects
>>>> system root instead of the project wrapper -->
>>>> <copy todir="${dest.dir}/${project.name}/WEB-INF/lib"
>>>> file="${wo.wosystemroot}/Library/Frameworks/
>>>> JavaWOJSPServlet.framework/WebServerResources/Java/
>>>> JavaWOJSPServlet_client.jar" />
>>>>
>>>> <copy todir="${dest.dir}/${project.name}/WEB-INF/tlds">
>>>> <fileset dir="${wo.wosystemroot}/Library/Frameworks/
>>>> JavaWOJSPServlet.framework/Resources/">
>>>> <include name="WOtaglib_1_0.tld" />
>>>> </fileset>
>>>> </copy>
>>>> <!-- the WebObject Extensions -->
>>>> <copy todir="${dest.dir}/${project.name}/WEB-INF/lib">
>>>> <fileset dir="${wo.wolocalroot}/Library/WebObjects/
>>>> Extensions/"><!-- SWK fix: added ${wo.wolocalroot} -->
>>>> <include name="*.jar" />
>>>> <exclude name="servlet.jar" />
>>>> </fileset>
>>>> <mapper type="flatten" />
>>>> </copy>
>>>>
>>>>
>>>> <!-- fix the Macos*ClassPath.txt files -->
>>>>
>>>> <replaceregexp file="${dest.dir}/${project.name}/WEB-INF/$
>>>> {project.name}.woa/Contents/MacOS/MacOSClassPath.txt"
>>>> match="APPROOT/Resources/Java/${project.name.lowercase}.jar"
>>>> replace="APPROOT/${project.name}.woa/Contents/Resources/Java/$
>>>> {project.name.lowercase}.jar" byline="true" />
>>>>
>>>> <replaceregexp file="${dest.dir}/${project.name}/WEB-INF/$
>>>> {project.name}.woa/Contents/MacOS/MacOSXServerClassPath.txt"
>>>> match="APPROOT/Resources/Java/${project.name.lowercase}.jar"
>>>> replace="APPROOT/${project.name}.woa/Contents/Resources/Java/$
>>>> {project.name.lowercase}.jar" byline="true" />
>>>>
>>>> <!-- SWK fix Windows\CLSSPATH.TXT -->
>>>> <replaceregexp file="${dest.dir}/${project.name}/WEB-INF/$
>>>> {project.name}.woa/Contents/Windows/CLSSPATH.txt" match="APPROOT\
>>>> \Resources\\Java\\${project.name.lowercase}.jar" replace="APPROOT/
>>>> ${project.name}.woa/Contents/Resources/Java/$
>>>> {project.name.lowercase}.jar" byline="true" />
>>>>
>>>> <!-- SWK fix the UNIXClassPath.txt files -->
>>>> <replaceregexp file="${dest.dir}/${project.name}/WEB-INF/$
>>>> {project.name}.woa/Contents/Unix/UNIXClassPath.txt"
>>>> match="APPROOT/Resources/Java/${project.name.lowercase}.jar"
>>>> replace="APPROOT/${project.name}.woa/Contents/Resources/Java/$
>>>> {project.name.lowercase}.jar" byline="true" />
>>>>
>>>> <!-- SWK fix Windows : Change the Backslash -->
>>>> <replaceregexp file="${dest.dir}/${project.name}/WEB-INF/
>>>> web.xml" match="WEBINFROOT//" replace="WEBINFROOT/"
>>>> byline="true" />
>>>> <replaceregexp file="${dest.dir}/${project.name}/WEB-INF/
>>>> web.xml" match="\\Library/WebObjects" replace="/Library/
>>>> WebObjects" byline="true" />
>>>> <replaceregexp file="${dest.dir}/${project.name}/WEB-INF/
>>>> web.xml" match="\\Resources\\Java\\" replace="/Resources/Java/"
>>>> byline="true" />
>>>>
>>>> <!-- SWK fix : Path to WOtaglib -->
>>>> <replaceregexp file="${dest.dir}/${project.name}/WEB-INF/
>>>> web.xml" match="/WEB-INF/tlds//WEB-INF/tlds/WOtaglib_1_0.tld"
>>>> replace="/WEB-INF/tlds/WOtaglib_1_0.tld" byline="true" />
>>>> <!-- fix the web.xml file: the app itself needs
>>>> project.name/Contents -->
>>>>
>>>> <replaceregexp file="${dest.dir}/${project.name}/WEB-INF/
>>>> web.xml" match="WEBINFROOT/Resources/Java/$
>>>> {project.name.lowercase}.jar" replace="WEBINFROOT/$
>>>> {project.name}.woa/Contents/Resources/Java/$
>>>> {project.name.lowercase}.jar" byline="true" />
>>>>
>>>> <!-- fix the web.xml file to remove the extra Frameworks/
>>>> directory level for the frameworks -->
>>>>
>>>> <replaceregexp file="${dest.dir}/${project.name}/WEB-INF/
>>>> web.xml" match="WEBINFROOT/Frameworks//" replace="WEBINFROOT/"
>>>> byline="true" />
>>>>
>>>> </target>
>>>>
>>>> <target name="compile" depends="setProps,init.build">
>>>> <taskdef name="wocompile"
>>>> classname="org.objectstyle.woproject.ant.WOCompile" />
>>>> <mkdir dir="bin" />
>>>> <wocompile srcdir="Sources" destdir="bin">
>>>> <frameworks root="$
>>>> {wo.dir.user.home.library.frameworks}">
>>>> <patternset>
>>>> <includesfile name="woproject/
>>>> ant.frameworks.user.home" />
>>>> </patternset>
>>>> </frameworks>
>>>> <frameworks root="${wo.wolocalroot}">
>>>> <patternset>
>>>> <includesfile name="woproject/
>>>> ant.frameworks.wo.wolocalroot" />
>>>> </patternset>
>>>> </frameworks>
>>>> <frameworks root="${wo.wosystemroot}">
>>>> <patternset>
>>>> <includesfile name="woproject/
>>>> ant.frameworks.wo.wosystemroot" />
>>>> </patternset>
>>>> </frameworks>
>>>> <classpath>
>>>> <fileset dir="${wo.wolocalroot}">
>>>> <patternset>
>>>> <includesfile name="woproject/
>>>> ant.frameworks.wo.wolocalroot" />
>>>> </patternset>
>>>> </fileset>
>>>> <fileset dir="Libraries">
>>>> <filename name="**/*.jar" />
>>>> </fileset>
>>>> </classpath>
>>>> </wocompile>
>>>> </target>
>>>> </project>
>>>
>>>
>>
>>
>
>
-- Chuck Hill Senior Consultant / VP DevelopmentPractical WebObjects - for developers who want to increase their overall knowledge of WebObjects or who are trying to solve specific problems. http://www.global-village.net/products/practical_webobjects
This archive was generated by hypermail 2.0.0 : Wed Aug 27 2008 - 13:02:34 EDT