> -----Original Message----- > From: Liang Chen [mailto:[EMAIL PROTECTED]] > Sent: Friday, May 10, 2002 12:40 PM > To: Struts Users Mailing List > Subject: Re: struts set up question > > > Hi, Mitchell: > > Of course I'd like to see your scripts. Can you show me it? Thanks a > lot. > > Leon > ----- Original Message ----- > From: "James Mitchell" <[EMAIL PROTECTED]> > To: "Struts Users Mailing List" <[EMAIL PROTECTED]> > Sent: Wednesday, May 08, 2002 3:58 PM > Subject: RE: struts set up question > > > > Did you look at the ant docs? > > > > Do you want to see my build script? > > > > It does the following: > > stoptomcat - executes tomcats shutdown.bat batch file to stop tomcat > > prep - prepares the directory for compilation, deletes > > the deployed war file and extracted directory > > compile - compiles the project source > > war - creates the new war file > > deploy - copies the war to TOMCAT_HOME/webapps > > cleanup - deletes the build folder where the whole compile/war took > place > > starttomcat- fires up tomcat with the appropriate startup.bat > > > > *optional - I also have a target for running javadoc on your project. > > > > I know (with JBuilder 4+) you can add your javadoc.jar > > to the project and have right click context access > > (and I think F1) to any of your classes from anywhere > > in your project) > > > > JM > >
* Side Note * One of the coolest features of Ant is the ability to use your existing environment variables within the build script. Although I stopped using this because I didn't want to "effectively" hard-code where TOMCAT_HOME was on my OS. I just let tomcat pick up the default (./) and run with it. That way I can specify which tomcat version to deploy and run in the build script. I have also seen this taken a step forward where you can supply which version on the command line that fires off your build script. Anyway, this is just a generic example of what I commonly use. (Consider it a beginners template) Once you get familiar with the standard Ant tasks try out a few of the optional ones, you can do just about anything from automated ftp to compiling and running your favorite c# project (although I highly recommend you stay away from that one ;=) **If this doesn't help, I can set up the struts-example for you (standalone directory structure) with its own build.xml. Here goes, my directory structure looks like this.... +-struts-test +-bak <-quick backups +-jsp <-all jsp files +-project-files <-files such as db schema and jokes from Mark +-src <- .java files +-WEB-INF <-should be obvious +-classes <-same +-lib <-same and here's the build.xml Search for all the ### you see and replace it with your info. <project name="###Simple Struts App" default="main" basedir="."> <!-- This allows you to use your own environment variables --> <property environment="env"/> <property name="build.compiler" value="classic"/> <property name="build.dir" value="build" /> <property name="class.dir" value="./src" /> <property name="warFile" value="###struts-test"/> <property name="javadoc.deploy.to" value="./javadoc"/> <!-- If you don't want to use your environment variable for TOMCAT_HOME, then uncomment this <property name="TOMCAT_HOME" value="###C:/jakarta-tomcat-4.0.3"/> and comment out this one --> <property name="TOMCAT_HOME" value="${env.TOMCAT_HOME}"/> <property name="deploy.dir" value="${TOMCAT_HOME}/webapps"/> <path id="project.class.path"> <!-- be sure to modify for you environment --> <!-- I know there is a better way to do this, but Netbeans seems to like this way --> <pathelement location="./WEB-INF/lib/crimson.jar"/> <pathelement location="./WEB-INF/lib/jakarta-regexp-1.2.jar"/> <pathelement location="./WEB-INF/lib/jasper.jar"/> <pathelement location="./WEB-INF/lib/jaxp.jar"/> <pathelement location="./WEB-INF/lib/jdbc2_0-stdext.jar"/> <pathelement location="./WEB-INF/lib/jmail.jar"/> <pathelement location="./WEB-INF/lib/jms.jar"/> <pathelement location="./WEB-INF/lib/junit.jar"/> <pathelement location="./WEB-INF/lib/jta-spec1_0_1.jar"/> <pathelement location="./WEB-INF/lib/log4j.jar"/> <pathelement location="./WEB-INF/lib/log4j-core.jar"/> <pathelement location="./WEB-INF/lib/mail_1_2.jar"/> <pathelement location="./WEB-INF/lib/mm.mysql-2.0.6.jar"/> <pathelement location="./WEB-INF/lib/parser.jar"/> <pathelement location="./WEB-INF/lib/poolman.jar"/> <pathelement location="./WEB-INF/lib/sax.jar"/> <pathelement location="./WEB-INF/lib/struts.jar"/> <pathelement location="./WEB-INF/lib/servlet.jar"/> <pathelement location="./WEB-INF/lib/webserver.jar"/> </path> <target name="prep"> <delete file="${basedir}/${warFile}.war" /> <mkdir dir="${build.dir}"/> <copy todir="${build.dir}"> <fileset dir="${class.dir}" includes="**/*.properties"/> </copy> </target> <target name="compile"> <javac srcdir="${basedir}/src" destdir="${build.dir}" > <include name="**/*.java"/> <classpath> <!-- <fileset dir="${TOMCAT_HOME}/common/lib"> <include name="**/*.jar"/> </fileset> --> <fileset dir="${basedir}/WEB-INF/lib"> <include name="**/*.jar"/> </fileset> </classpath> </javac> </target> <target name="javadoc"> <delete includeEmptyDirs="true"> <fileset dir="${basedir}/javadoc"/> </delete> <javadoc packagenames="com.###.*" sourcepath="${basedir}/src" destdir="${basedir}/javadoc" author="true" version="true" use="true" classpathref="project.class.path" windowtitle="### Project or Application Name here ### Documentation" bottom="<i>Copyright © 2002 ### , Inc. All Rights Reserved.</i>"> </javadoc> <jar jarfile="${javadoc.deploy.to}/javadoc/###-docs.jar" basedir="${basedir}/javadoc" includes="**/*" /> </target> <target name="war"> <war warfile="${warFile}.war" webxml="WEB-INF/web.xml" > <fileset dir="${basedir}/jsp" includes="**/*.*" /> <webinf dir="${basedir}/WEB-INF" includes="**/*.tld,**/*.xml" excludes="web.xml"/> <lib dir="${basedir}/WEB-INF/lib" /> <classes dir="${build.dir}" excludes="*.xml"/> </war> </target> <target name="deploy"> <delete dir="${deploy.dir}/${warFile}" includeEmptyDirs="true" /> <copy todir="${deploy.dir}"> <fileset dir="${basedir}" includes="${warFile}.war"/> </copy> </target> <target name="cleanup"> <delete dir="${build.dir}" includeEmptyDirs="true" /> </target> <target name="stoptomcat"> <exec dir="${basedir}" executable="cmd.exe"> <arg line="/c %TOMCAT_HOME%\bin\shutdown"/> </exec> </target> <target name="starttomcat"> <exec dir="${basedir}" executable="cmd.exe"> <arg line="/c %TOMCAT_HOME%\bin\startup"/> </exec> </target> <target name="main" depends="stoptomcat, prep, compile, war, deploy, cleanup, starttomcat"/> <target name="testwar" depends="prep, war"/> </project> JM <snip/> -- To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]> For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>