Ooops, I have hard-code the extensions directory for Mac.
Try replacing this:
<copy todir="${dest.dir}/${project.name}/WEB-INF/lib">
<fileset dir="/Library/WebObjects/Extensions">
<include name="*.jar"/>
<exclude name="servlet.jar"/>
</fileset>
<flattenmapper />
</copy>
with this:
<copy todir="${dest.dir}/${project.name}/WEB-INF/lib">
<fileset dir="${wo.dir.local.library}/WebObjects/Extensions">
<include name="*.jar"/>
<exclude name="servlet.jar"/>
</fileset>
<flattenmapper />
</copy>
Gruss
Pierre
On Mar 22, 2006, at 3:06 PM, Sako wrote:
> Hello Pierre,
>
> First of all to be honest, i have smart knowledge about ant
> framework and scripts.
>
> I tried your changes as the following
> 1. replaced the <woapplication in build.xml as you added
> 2. created the Web.xml file // changed the value in
> build.properties file webXML = true
> 3. replaced the SSDD task in build.xml as you added.
> 4. I didnt understand the point with the following part: // but cos
> i use windows, i thought this could work for me.
> 75c75,77
> < WEBINFROOT/Resources/Java/
> ---
> >
> > WEBINFROOT/HelloWorld.woa/Contents/Resources/Java/helloworld.jar
> >
> 84d85
> < WEBINFROOT/Resources/Java/helloworld.jar
>
> 5.Then changed the WAR task in build.xml also as you added // Copy
> data from SSDD.
>
> I got the following error
> ----------------------------------------------------
>
> Buildfile: H:\workspace\WOWar\build.xml
> setProps:
> init.build:
> build.woapp:
> [woapplication] Installing WOWar in dist
> [woapplication] Copying 1395 files to H:\workspace\WOWar\dist
> \WOWar.woa\Contents\Frameworks
> [woapplication] Copied 138 empty directories to 3 empty directories
> under H:\workspace\WOWar\dist\WOWar.woa\Contents\Frameworks
> [copy bootstrap] Copying 1 file to H:\workspace\WOWar\dist\WOWar.woa
> [woapplication] 'Windows 2000' is some kind of windows, skipping
> chmod.
>
> ssdd:
> [mkdir] Created dir: H:\workspace\WOWar\dist\WOWar\WEB-INF\tlds
> [copy] Warning: web.xml modified in the future.
> [copy] Copying 1 file to H:\workspace\WOWar\dist\WOWar\WEB-INF
> [copy] Copying 1413 files to H:\workspace\WOWar\dist\WOWar\WEB-INF
> [copy] Copied 157 empty directories to 4 empty directories under H:
> \workspace\WOWar\dist\WOWar\WEB-INF
> [copy] Copying 1401 files to H:\workspace\WOWar\dist\WOWar\WEB-INF
> [copy] Copied 151 empty directories to 3 empty directories under H:
> \workspace\WOWar\dist\WOWar\WEB-INF
> [copy] Copying 16 files to H:\workspace\WOWar\dist\WOWar\WEB-INF\lib
> BUILD FAILED
> H:\workspace\WOWar\build.xml:151: H:\Library\WebObjects\Extensions
> not found.
> Total time: 4 minutes 34 seconds
> ----------------------------------------------------
>
> could you help here please?
>
>
> Regards.
>
> peaSakoe
>
> ----- Original Message -----
> From: Pierre Bernard
> To: woproject-de..bjectstyle.org
> Sent: Tuesday, March 21, 2006 10:09 AM
> Subject: JBoss WAR deployment
>
> Hi!
>
> I just slaved days over getting Eclipse/WOLips to generate a WAR to
> JBoss' liking.
>
> Somehow the out-of-the-box WAR support in WOLips seems very broken.
> I ended up rewriting much of the involved Ant targets. Furthermore
> I had to patch the generated web.xml to get a classpath that
> NSBundle can work with.
>
> First, I had to add additional arguments to the WOApplication task:
>
> <woapplication name="${project.name}" stdFrameworks="false"
> destDir="${dest.dir}"
> customInfoPListContent="${customInfoPListContent}"
> principalClass="${principalClass}"
> webXML="${webXML}"
> webXML_CustomContent="${webXML_CustomContent}"
> webXML_WOAINSTALLROOT="/tmp/${project.name}.dst/Library/WebObjects/
> Applications/"
> webXML_WOtaglib="WOtaglib_1_0.tld"
> webXML_WOAppMode="Development">
>
> ...
>
> <frameworks root="${wo.wosystemroot}" embed="true">
> <patternset>
> <includesfile name="woproject/ant.frameworks.wo.wosystemroot"/>
> </patternset>
> </frameworks>
> <frameworks root="${wo.wolocalroot}" embed="true">
> <patternset>
> <includesfile name="woproject/ant.frameworks.wo.wolocalroot"/>
> </patternset>
> </frameworks>
> <frameworks root="${user.home}" embed="true">
> <patternset>
> <includesfile name="woproject/ant.frameworks.user.home"/>
> </patternset>
> </frameworks>
>
> ...
>
> </woapplication>
>
> I modified the ssdd target as follows:
>
> <target name="ssdd">
> <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=".">
> <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 todir="${dest.dir}/${project.name}/WEB-INF">
> <fileset dir="${dest.dir}/${project.name}.woa/Contents">
> <include name="Frameworks/**"/>
> <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>
> <flattenmapper />
> </copy>
> <copy todir="${dest.dir}/${project.name}/WEB-INF/lib">
> <fileset dir="/Library/WebObjects/Extensions">
> <include name="*.jar"/>
> <exclude name="servlet.jar"/>
> </fileset>
> <flattenmapper />
> </copy>
> <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>
> <fixcrlf srcdir="${dest.dir}/${project.name}/WEB-INF/" eol="unix"
> includes="web.xml" />
> <patch originalfile="${dest.dir}/${project.name}/WEB-INF/web.xml"
> patchfile="web.diff" ignorewhitespace="true"/>
> </target>
>
> The last two steps patch the classpath. First we neet to strip Mac
> line endings for the patch task to work. The patch file looks like
> this:
>
> 75c75,77
> < WEBINFROOT/Resources/Java/
> ---
> >
> > WEBINFROOT/HelloWorld.woa/Contents/Resources/Java/helloworld.jar
> >
> 84d85
> < WEBINFROOT/Resources/Java/helloworld.jar
>
> BTW, having to work with a patch file is UGLY. I guess WOLips
> should be updated to generate a valid classpath.
>
> This changes the way we refer to the main JAR in a way that allows
> NSBundle to recognize it as a bundle.
>
> The WAR target could be greatly simplified by basing the WAR off
> the SSDD:
>
> <target name="war" depends="ssdd">
> <war destfile="${dest.dir}/${project.name}.war" webxml="${dest.dir}/
> ${project.name}/WEB-INF/web.xml" basedir="${dest.dir}/$
> {project.name}">
> <lib dir="${wo.wosystemroot}/Library/Frameworks/
> JavaWOJSPServlet.framework/WebServerResources/Java/">
> <include name="JavaWOJSPServlet_client.jar"/>
> </lib>
> </war>
> <copy todir="/tmp/${project.name}.dst/Library/WebObjects/
> Applications/">
> <fileset dir="${dest.dir}">
> <include name="${project.name}.woa/**"/>
> </fileset>
> </copy>
> </target>
>
> All this buys me a self-contained WAR file with all frameworks
> embedded. This WAR works fine on JBoss 4.
>
> Pierre.
>
This archive was generated by hypermail 2.0.0 : Wed Mar 22 2006 - 09:59:26 EST