ant build.xml 配置

来源:互联网 发布:java小技术分享 编辑:程序博客网 时间:2024/05/29 15:28
配合ant开发web项目
应用相关说明:
1、ant版本:apache-ant-1.6.1
2、eclipse版本:eclipse-SDK-3.0.1-win32
3、j2sdk1.4.2_08
4、jakarta-tomcat-5.0.19
5、mysql
目录结构如下:

ant具体配置如下
1、"Easydone"project"demo"bin目录下新建build.xml
内容如下:

<?xml version="1.0"  encoding="GB2312" ?>
<project name="Demo-Home" basedir="." default="usage">

 <property name="app.name" ="demo"/>
 <property name="app.dir" location="../WebRoot"/>
 <property name="webserver.home" location="../../../platform/jakarta-tomcat-5.0.19"/>
 <property name="webserver.deploy" location="${webserver.home}/webapps/"/>
 <property name="src.dir" location="../src"/>
 <property name="build.dir" location="${app.dir}/WEB-INF/classes"/>
 <property name="lib.dir" location="${app.dir}/WEB-INF/lib"/>
 <property name="dist.dir" location="../dist"/>
 <property name="properties.dir" location="${src.dir}/com/easydone/struts/ApplicationResources.properties"/>
 <property name="properties_zh.dir" location="${build.dir}/com/easydone/struts/ApplicationResources_zh.properties"/>
 <property name="doc.dir" ="../api"/>
 <property name="packages" ="com.easydone.*"/>
 
 <echo>+--------------------------------------------------+</echo>
 <echo>|                                                  |</echo>
 <echo>|       R U N N I N G   A N T    REPOSITORY        |</echo>
 <echo>|                                                  |</echo>
 <echo>+--------------------------------------------------+</echo>
 <!---Help Information-->
 <target name="usage" >
     <echo message=""/>
     <echo message="-------------------------------------------------------------"/>
     <echo message="操作说明:"/>
     <echo message="首先将您编写的java文件拷贝至${src.dir}目录下,按先后顺序执行以下命令既可。"/>
     <echo message="第一步:compile 命令编译*.java"/>
     <echo message="第二步:deploy 命令生成${app.name}.jar文件"/>
     <echo message="第三步:doc 命令生成详细javadoc文档"/>
     <echo message="每一步操作都能看到 BUILD SUCCESSFUL提示后,表示您操作成功!"/>
     <echo message="-------------------------------------------------------------"/>
     <echo message=""/>
 </target>  
  <!-- =================================================================== -->
  <!-- 设置应用环境变量                           -->
  <!-- =================================================================== --> 
 <path id="compile.classpath">
  <pathelement path ="${build.dir}"/>
  <fileset dir="${lib.dir}">
   <include name="**/*.jar"/>
  </fileset>
 </path>
  <!-- =================================================================== -->
  <!-- 格式化中文资源包,解决国际化中文问题                     -->
  <!-- =================================================================== --> 
    <target name="checkToZh">
         <uptodate property="toZh.notRequired"
            srcfile="${properties.dir}"
            targetfile="${properties_zh.dir}"/>
    </target>
    <target name="toZh" depends="checkToZh" unless="toZh.notRequired">
        <delete file="${properties_zh.dir}"/>
        <!-- native2ascii struts.properties -->
        <exec executable="native2ascii">
          <arg line=" ${properties.dir}  ${properties_zh.dir}"/>
        </exec> 
        <echo message="toZh performed!"/>
    </target>
  <!-- =================================================================== -->
  <!-- 初始化创建相关应用目录                             -->
  <!-- =================================================================== -->
    <target name="prepare" deion="create build,dist files">
     <mkdir dir="${build.dir}"/>
     <mkdir dir="${dist.dir}"/>    
    </target>
  <!-- =================================================================== -->
  <!-- 初始化应用程序,删除相关目录                           -->
  <!-- =================================================================== --> 
 <target name="clean" deion="Delete build files">
  <delete dir="${build.dir}"/>
  <delete dir="${dist.dir}"/>
 </target>
 
  <!-- =================================================================== -->
  <!-- compile 命令,执行javac编译命令                          -->
  <!-- =================================================================== --> 
 <target name="compile" depends="prepare">
  <javac srcdir="${src.dir}" destdir="${build.dir}" debug="on">
   <classpath refid="compile.classpath"/>
  </javac>
 </target>
  <!-- =================================================================== -->
  <!-- update命令,编译及处理国际化中文资源文件                        -->
  <!-- =================================================================== -->
 <target name="update" depends="compile,toZh">
  <!--copy classes-->
  <copy todir="${webserver.deploy}/${app.name}/WEB-INF/classes" includeEmptyDirs="no">
   <fileset dir="${build.dir}"/>
  </copy>
  <!--copy pages-->
  <copy todir="${webserver.deploy}/${app.name}" includeEmptyDirs="no">
   <fileset dir="${app.dir}"/>
  </copy>
  <!-- copy libs-->
  <copy todir="${webserver.deploy}/${app.name}/WEB-INF/lib" includeEmptyDirs="no">
   <fileset dir="${lib.dir}"/>
  </copy>
 </target>
  <!-- =================================================================== -->
  <!-- 部署应用程序,依赖于 compile命令clean,prepare,compile,dist          -->
  <!-- =================================================================== -->

 <target name="deploy" depends="clean,prepare,compile,toZh,dist">
  <delete dir="${webserver.deploy}/${app.name}.war"/>
  <delete dir="${webserver.deploy}/${app.name}"/>  
  <copy todir="${webserver.deploy}" includeEmptyDirs="no">
   <fileset dir="${dist.dir}"/>
  </copy>
 </target> 
  <!-- =================================================================== -->
  <!-- 部署应用程序,将其打为mshome.war包,依赖于 compile命令              -->
  <!-- =================================================================== --> 
 <target name="dist" depends="compile">
   <echo>building war...</echo>
   <war warfile="${dist.dir}/${app.name}.war"
       webxml="${app.dir}/WEB-INF/web.xml">
     <fileset dir="${app.dir}"/>
     <classes dir="${build.dir}"/>
     <classes dir="${lib.dir}">
      <include name="*.propertries"/>
   </classes>
   <lib dir="${lib.dir}">
    <include name="*.jar"/>
   </lib>
  </war>
 </target> 
  <!-- =================================================================== -->
  <!-- 生成说明文档(api)                                                   -->
  <!-- =================================================================== -->
 <target name="javadoc" depends="usage,compile">
    <delete dir="${doc.dir}"/>
    <mkdir dir="${doc.dir}"/>
     <javadoc packagenames="${packages}"
              sourcepath="${src.dir}"
              destdir="${doc.dir}"
              author="true"
              version="true"
              use="true"
              splitindex="true"
              windowtitle="${app.name} API"
              doctitle="${app.name}">
       <classpath refid="compile.classpath"/>
     </javadoc>
  </target>
  <!-- =================================================================== -->
  <!-- 执行一个数据库操作,其中demo为您的数据库名,可测试相关jdbc连接
      查询语句为bin目录下的db.sql                                -->
  <!-- =================================================================== -->  
 <target name = "mysqlInit">
 <echo>ANT 操作数据库开始.....</echo>
 <sql
  driver = "org.gjt.mm.mysql.Driver"
  url = "jdbc:mysql://localhost:3306/demo"
  userid = "root"
  password = "*******"
  src = "db.sql"
  print="yes"
  ="continue"
 />
 </target>
 <!--END-->
</project>

2、在"Easydone"project"demo"bin目录下新建setEnv.bat
dos处理脚本,主要为设置环境变量(这样做您无需手工配置环境变量,将整个工程移动到任何目录都可以使用),内容如下:

set ANT_HOME=../../../platform/apache-ant-1.6.1
set JAVA_HOME=../../../platform/j2sdk1.4.2_08
set CLASSPATH=%JAVA_HOME%/lib/toos.jar;%JAVA_HOME%/lib/dt.jar
set CATALINA_HOME=../../../platform/jakarta-tomcat-5.0.19
set PATH=%ANT_HOME%/bin;%CATALINA_HOME%/BIN;%JAVA_HOME%/bin;%CATALINA_HOME%/BIN
3、服务控制脚本:
tomcat启动服务:
在"Easydone"project"demo"bin目录下新建 run.cmd:

call setEnv.bat
startup

tomcat停止服务:
在"Easydone"project"demo"bin目录下新建 down.cmd

call setEnv.bat
shutdown

更新脚本:
在"Easydone"project"demo"bin目录下新建 update.cmd
call setEnv.bat
ant -buildfile build.xml  update

部署脚本:
在"Easydone"project"demo"bin目录下新建 deploy.cmd
call setEnv.bat
ant -buildfile build.xml  deploy

java doc 脚本:
在"Easydone"project"demo"bin目录下新建 doc.cmd
call setEnv.bat
ant -buildfile build.xml  javadoc

剩下的都在build.xml中,根据你的需要自己定义脚本程序就可以了
很简单,这样可控制你的应用。

引用地址:http://www.easydone.cn/014/200604110005145285.htm

原创粉丝点击