ANT 构建和部署项目

来源:互联网 发布:詹姆斯数据预测 编辑:程序博客网 时间:2024/05/20 16:42

ANT 简介

  • Apache ANT 是一个 Java 项目的构建工具,用于打包部署Java项目,最早是使用于打包部署 Tomcat 项目,后面逐步拓展到打包部署大部分Java项目;
  • Apache ANT 是平台无关的,可以同于处理在任何平台下的Java项目打包部署;
  • Apache ANT 核心是使用XML脚本编写打包任务(该脚本被称为 build.xml),使用其提供的命令行工具,实现将现有的项目自动化打包为 JAR,WAR 等文件,方便部署到服务器生产环境;

ANT 安装配置

1)Apache ANT 是使用Java编写的,下载之前需要在完成JDK的安装配置,Apache ANT 二进制文件的下载地址:
http://ant.apache.org/bindownload.cgi
2)下载压缩包后,解压到系统的某一个文件夹中;
3)在系统环境变量中,添加一个 ANT_HOME 变量,指向 Apache ANT 的安装目录文件夹;
将 Apache ANT 中bin文件夹(如 c:\apache-ant-1.10.1\bin)路径,添加到系统环境变量的 PATH 变量中,方便调用ant的命令行工具(这个步骤不是必须的);
类似如下示例:
4)验证ANT是否安装成功,命令行中输入以下指令:
1
C:>ant -version
返回 Apache ANT 版本信息,则说明安装成功;



ANT 常用内置任务说明列表

ANT 构建项目基本的步骤如下:创建 build.xml ,通过命令行运行相关指令,输出项目的JAR/WAR打包形式;
build.xml 文件是ANT运行的配置文件,一般的格式如下:
<project>便签是项目的根标签,里面包含一系列的<target>标签和其他标签,<target>是任务标签,标签内为实际执行任务的内容,在ANT运行时,通过指定target指定配置文件中的target(详见下面运行ANT部分);

以下是常见 Task 标签及常用属性的列表,完整的 Task 标签列表参见:http://ant.apache.org/manual/index.html
标签说明及常用属性基础标签<project>build.xml 的根元素,通常位于文件的顶部,常用属性如下:
  • name    -- 指定工程名称;
  • basedir  --指定工程的基路径,如果设为".",即 build.xml 文件所在路径;
  • default  --执行默认执行的 target,在运行ANT没有指定target时,执行该默认target;
<target>任务标签,一般一个traget用于描述一个任务,常用属性如下:
  • name       --指定target名称
  • depends  --指定一个或多个traget名,表示运行该target之前先运行该这些指定 traget
  • if              --指定一个属性名,当该属性被设置时,执行该traget;
  • unless      --指定一个属性名,待该属性没有被设置时,执行traget
  • description  --指定该target的描述信息
<property>
设置属性,一般键值对的形式存在,在其他标签中可以通过 ${name} 的形式引用该value;
  • name  --指定属性名;
  • value  --指定属性值;
文件操作<mkdir>
创建目录,常用属性如下:
  • dir   --目录地址
<move>移动文件/目录,常与<fileset>配合使用 ;
  • file            --要移动的原文件/目录
  • todir         --移动目标目录
  • overwrite  --当文件名重复时,是否覆盖操作
<copy>复制文件/目录,常用参数同<move>,常与<fileset>配合使用;<delete>删除文件/目录,常与<fileset>配合使用;
  • file/dir   --待删除的文件/目录
项目编译,打包,运行<javac> 编译 Java 源文件,常用属性如下:
  • srcdir      --指定Java源文件位置;
  • destdir    --指定编译后存放Class文件的位置;
  • classpath --额外使用的类路径classpath
<java> 运行 java class 或 jar
  • classname  --运行class文件的名称(不带.class尾缀)
  • args            --运行参数
<javadoc>生成项目的 javadoc 文档
  • sourcename   --指定原文件路径(一般指向java源文件夹 src文件夹);
  • destdir            --javadoc输出目录
<war>生成项目的 war 包
  • warxml               -- 需要的web.xml文件路径
  • warfile/destfile   -- 生成的WAR路径(具体到创建文件名)
<jar>生成项目的 jar 包
  • destfile    --生成 JAR 路径(具体到创建文件名)
  • basedir    --生成dir的起始路径
  • exclude    --不包括的文件




ANT 构建和部署项目


以下是示例用的JavaWeb项目结构:
1
ServletTest2                                             
2
                                                                                                             
3
    ├─src                                                           
4
      ├─control1                                                   
5
            CheckServlet.java                                     
6
            OutputServlet.java                                    
7
            WelcomeServlet.java                                   
8
                                                                  
9
      ├─control2                                                   
10
            UploadFileServlet.java                                
11
                                                                  
12
      └─control3                                                   
13
              RedirectServlet.java                                 
14
              RefreshServlet.java                                  
15
                                                                   
16
    └─web                                                           
17
          hello.jsp                                                
18
          index.jsp                                                
19
          login.html                                               
20
          message.jsp                                              
21
          upload.html                                              
22
                                                                   
23
        └─WEB-INF                                                   
24
              web.xml                                                                                                 
25
            ├─classes                                               
26
                                                                                  
27
            └─lib                                                   
28
                    commons-fileupload-1.3.3.jar                    
29
                    commons-io-2.5.jar          
一般 build.xml ANT 配置文件位于项目的根目录下,在以上示例中位于 ServletTest2/build.xml 目录下;

1、基本项目构建

创建 build.xml

2、运行 ANT

运行 build.xml 指定的 traget 语法如下:
1
ant -buildfile <build-dir>/build.xml tragetname
以以上build.xml例子为例,要生成项目的 WAR 文件步骤如下:
1
1、进入 build.xml 所在的目录
2
cd D:\Program Design\ServletTest2
3
4
2、运行 build.xml 生成 WAR 的 target
5
ant -buildfile D:\Program Design\ServletTest2\build.xml create_war
之后便会在 ServletTest2 根目录下生成一个 WAR 文件;

3、部署项目

将以上生成的的WAR文件,放置到 Tomcat 服务器的 <CATALINA_HOME>/webapps 目录下即可,Tomcat 在运行时会自动将 WAR文件展开目录;









原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 租的房子没窗户怎么办 北京安河桥安河家园租房被骗怎么办 领完失业金后怎么办 北京公租房太小怎么办 申请公租房太小怎么办 房东电费收贵了怎么办 申请公租房工资超了怎么办 重庆公租房工资超了怎么办 公租房申请父母房子贷款怎么办 公产房父母去世办公证怎么办 动迁过程中承租人去世了怎么办 公租房的房间带阳台怎么办 公租房合同到期没有社保怎么办 租房合同没有到期违约了怎么办 租房户到期不搬怎么办 公租房摇号摇到了又怎么办 公租房被清退会怎么办 公租房摇不到号怎么办 公租房到期不搬怎么办 租房到期租客不搬怎么办 房产证面积与实际不符怎么办 社保晚交了1天怎么办 个人社保忘交了怎么办 个人社保晚交了怎么办 医保晚交了几天怎么办 辞职后转为灵活就业养老怎么办 公司名称变更提取不了公积金怎么办 五险合一软件已经减员怎么办 法人社保不在投标单位怎么办 换工作单位后社保怎么办 在北京孩子没有一老一小怎么办 深户小孩怎么办社保卡 社保卡没办下来去医院住院怎么办 老年社保卡丢了怎么办 外墙掉瓷砖伤车伤人怎么办 医保卡姓名弄错了怎么办 走工伤和走社保怎么办 公司在朝阳社保在海淀怎么办 公司没缴纳个税怎么办 报个税工资报少了怎么办 医院预约单丢了怎么办