ANT 在项目中的使用

原创 2004年10月10日 16:02:00


ANT目录设置及说明:

build.bat    //设置环境变量,执行ant(可暂时不用)

build.xml    //ant的配置文件

/
+- dist    //放置编译,打包后的最终文件

+- src
   +- package    //放置java源文件
   +- webroot    //jsp源文件及相关配置文件

+- build    //放置编译后的文件

+- lib    //放置编译所需要相关类文件

+- doc    //生成的api文档

说明:
    JAVA源文件放在SRC下,JSP源文件放在SRC下的WEBROOT目录下.
 执行ANT命令即可.
 在dist目录下:classes文件,jar包,war包
 附build.xml文件
 
//=========================================

<?xml version="1.0" encoding="GB2312" ?>
 <!--
 =======================================================================
   Copyright (c) 2004  http://www.bcxy.com All rights reserved.
 =======================================================================
 -->

 <project default="war" basedir=".">

 <!--主要的系统环境属性-->
 <property environment="env"/><!--取window,unix...的环境变量-->

 <!--主要的app环境属性-->
 <property name="app.name"      value="bcxy"/>
 <property name="app.jar"       value="${app.name}.jar"/>
 <property name="app.war"       value="${app.name}.war"/>

 <property name="packages" value="test.*"/>

 <!--app中src的属性-->
 <property name="src.dir"    value="src"/>

 <!--app中web的属性-->
 <property name="web.dir"    value="${src.dir}/webroot"/>

 <!--app用到的lib-->
 <property name="lib.dir" value="lib"/>

 <!--app的build目录-->
 <property name="build.dir"      value="build"/>
 <property name="build.lib"      value="${build.dir}/WEB-INF/lib"/>
 <property name="build.classes"      value="${build.dir}/WEB-INF/classes"/>

 <!--app的dist目录-->
 <property name="dist.dir"      value="dist"/>

 <!--app的docs目录-->
 <property name="doc.dir"      value="doc"/>

 <!--设置CLASSPATH-->
 <path id="classpath">
  <pathelement path="${env.CLASSPATH}"/>
  <fileset dir="${lib.dir}">
     <include name="**/*.jar"/>
  </fileset>
 </path>

 <!--
 ===================================================================
   init 准备目录(File Tasks)
 ===================================================================
 -->
 <target name="init">
     <!-- 显示环境变量 -->
    <echo>${env.JAVA_HOME}</echo> 
    <echo>${env.ANT_HOME}</echo>

  <!--清除以前目录-->
  <delete dir="${build.dir}" failonerror="false"/>
  <delete dir="${doc.dir}" failonerror="false"/>
  <delete dir="${dist.dir}" failonerror="false"/>
  <!--准备目录-->
  <mkdir dir="${build.dir}"/>
  <mkdir dir="${build.lib}"/>
  <mkdir dir="${build.classes}"/>
  <mkdir dir="${doc.dir}"/>
  <mkdir dir="${dist.dir}"/>
 </target>

 <!--
 ===================================================================
   Build the code (Compile Tasks,File Tasks)
 ===================================================================
 -->

 <target name="build" depends="init">
        <echo message="build start......." />

  <javac srcdir="${src.dir}" destdir="${build.classes}">
   <classpath refid="classpath"/>
  </javac>

 </target>

 <!--
 ===================================================================
   生成JAVA文档
   Create the documents
 ===================================================================
 -->

 <target name="javadoc" depends="build">
    
  <echo message="javadoc start......" />

  <javadoc packagenames="${packages}"
           sourcepath="${src.dir}"
     destdir="${doc.dir}"
     author="true"
     version="true">
    <classpath refid="classpath"/>
  </javadoc>

 </target>

 <!--
 ===================================================================
   打包文档(Archive Tasks)
   Create the project jars: xxx1.jar and xxx2.jar
 ===================================================================
 -->
 <target name="jar" depends="javadoc">
    
  <echo message="jar start......" />

  <jar jarfile="${dist.dir}/${app.jar}">
      <fileset dir="${build.classes}"/>
  </jar>

 </target>

 <!--
  ===================================================================
    Create the distribution that can run (Archive Tasks)
    主要是从各目录中把该copy的copy上
  ===================================================================
 -->

 <target name="dist" depends="jar">
  <!--copy bin 执行文件 -->
  <echo message="dist start......" />

  <copy todir="${dist.dir}">
   <fileset dir="${build.classes}/"/>
  </copy>

    </target>

 <!--
  ===================================================================
   打包文档(Archive Tasks)
   Create the project war xxx1.war
  ===================================================================
 -->

 <target name="war" depends="dist">

     <echo message="war start......" />

  <copy todir="${build.dir}/">
      <fileset dir="${src.dir}/webroot"/>
  </copy>

  <copy todir="${build.lib}/">
      <fileset dir="${lib.dir}"/>
  </copy>

  <jar jarfile="${dist.dir}/${app.war}">
      <fileset dir="${build.dir}"/>
  </jar>

 </target>

 <!--
  ===================================================================
    Create the distribution that can run (Archive Tasks)
    清除
  ===================================================================
 -->

 <target name="clean" depends="war">
  <!--清除文件夹 -->
  <echo message="clean start......" />

  <delete dir="${build.dir}" failonerror="false"/>

  </target>

</project>

=========================================//

ActiveMQ的在实际项目中的简单使用

简介 本文达到的目的是会用。 安装服务器: 官网下载win版的,也可是linux版的; 启动服务器:win版的执行activemq.bat 看看是否安装成功:http://local...
  • ljl18566743868
  • ljl18566743868
  • 2016年11月08日 15:54
  • 1112

Solr-项目中的使用

配置中文分析器 在SolrCore的conf下的schema.xml是Solr数据表配置文件,定义了加入索引的数据的数据类型。 主要包括Fields,FieldTypes和其他的一些设置。 ...
  • LLLLLiSHI
  • LLLLLiSHI
  • 2017年05月07日 14:01
  • 629

线程在实际项目中简单的应用

前段时间开发的项目中有一个office在线预览的功能,我们知道需要实现这个功能一般是 后台把用户上传的txt啊excel啊word啊先转换成pdf格式,然后使用pdf.js进行前台预览(有的还 需要转...
  • u014417573
  • u014417573
  • 2017年11月30日 13:50
  • 283

在项目中使用springmvc

什么是springmvcspringmvc是spring框架的一个模块,springmvc和spring无需通过中间整个层进行整合,它是一个基于mvc的web框架。springmvc与struts2的...
  • jinzili777
  • jinzili777
  • 2016年04月09日 08:36
  • 1386

使用性的单例模式,项目中应用

实现阶段进阶: 如果查看书本上单例模式,简单一句话,都是如何实现。 并且实现务必有 Class.GetInstance() 的语句。这种方式的缺点还一个就是代码的可读性受影响; 原因区别于非单...
  • zxf10523
  • zxf10523
  • 2016年11月17日 11:41
  • 165

SpringAOP在项目中的简单应用

 SpringAOP在项目中的简单应用 一、前言 项目背景 由于公司的机房到期,需要做应用迁移(包括数据库),割接到云平台。但是又不能进行一次性割接,需要分三个阶段:第一阶段割...
  • keyingbo2008
  • keyingbo2008
  • 2014年04月03日 21:47
  • 3973

【Redis基础】Redis在项目中实战

redis搭建,集群搭建,多属于运维知识,基本了解就可以。但是在项目如何让redis发挥它的特长就属于我们需要掌握和探索的。接下来讲解一下在项目中如何使用redis来做缓存的。   适用场景 什...
  • u010539352
  • u010539352
  • 2016年06月30日 08:32
  • 8578

项目中多线程的使用

如下两篇文章对Linux 多线程讲的比较深入,详细: Linux pthread详解 http://blog.csdn.net/xueye3000/article/details/7024365 ...
  • huao798480517
  • huao798480517
  • 2013年03月29日 18:49
  • 1097

GIT在实际项目中的应用

现在在对项目进行管理时,大多都选择的版本控制工具为GIT,在我使用GIT的过程中也遇到过一些实际的问题,这里跟大家分享一下,我遇到实际问题的解决方法,希望能给大家提供一些帮助。不足地方请大家谅解!!!...
  • jyghgq
  • jyghgq
  • 2017年07月26日 17:27
  • 158

笔记:elasticsearch在项目中的使用需求

(摘抄自公司大牛的笔记,自己总结一下) 类比mysql,我们需要=、>、>=、
  • R_P_J
  • R_P_J
  • 2017年11月16日 21:19
  • 184
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:ANT 在项目中的使用
举报原因:
原因补充:

(最多只允许输入30个字)