c&c++语言通常使用make脚本来构建和管理自己的工程,同样java也有自己的构建工具(Ant),使用时需要写一个biuld.xml,有点类似c&c++里的makefile。

、首先定义一些变量,如下,个人感觉有点类似makefile的写法

#==================== File and Directory Names ========================

app.name=AntDemo
app.version=0.1 source.home=./src
lib.home=./WebContent/WEB-INF/lib
lib.external=./lib_external
webapp.home=./WebContent
build.home=./build
dist.home=./dist #==================== Compilation Control Options ===================== compile.debug=true
compile.deprecation=false
compile.optimize=true

二、然后写几个target

一般就clean,init,Compile,Build,Archive,具体如下

<?xml version="1.0"?>

<!-- ======================================================================
Date: June 2015 Project: Ant Demo Author: Peter Chen
====================================================================== --> <project name="AntDemo" default="archive" basedir="."> <description>
a project of using ant
</description> <property file="build.properties"/> <!-- ==================== Clean Target ==================================== --> <!--
删除之前工程构建时产生的临时文件
-->
<target name="clean" description="Delete old directories and files">
<delete dir="${dist.home}"/>
<delete dir="${build.home}"/>
<delete >
<fileset dir="${source.home}" includes="**/*.class"/>
</delete>
</target> <!-- ==================== Init Target ================================== --> <!--
新建build文件夹
-->
<target name="init" depends="clean" description="Create build directory"> <mkdir dir="${build.home}" /> </target> <!-- ==================== Compile Target ================================== --> <!--
编译源代码,将编译生成的class文件copy到${build.home}/WEB-INF/classes目录下
-->
<target name="compile" depends="init" description="Compile Java sources"> <mkdir dir="${build.home}/WEB-INF/classes" /> <javac srcdir="${source.home}"
destdir="${build.home}/WEB-INF/classes"
debug="${compile.debug}"
deprecation="${compile.deprecation}"
optimize="${compile.optimize}"
source="1.7" target="1.7" includeantruntime="on"> <classpath>
<path>
<fileset dir="${lib.home}" />
<fileset dir="${lib.external}" />
</path>
</classpath>
</javac> </target> <!-- ==================== Build Target ================================== --> <!--
把非class文件拷贝到build目录下
--> <target name="build" depends="compile" description="Copies all non Java classes to build directoy">
<copy todir="${build.home}">
<fileset dir="${webapp.home}" excludes="SVN,**/*.class" />
</copy>
<copy todir="${build.home}/WEB-INF/classes">
<fileset dir="${source.home}" excludes="SVN,**/*.java" />
</copy>
</target> <!-- ==================== Archive Target ================================== --> <!--
打包成war文件
--> <target name="archive" depends="build" description="Create binary archive of all files in dist.home"> <!-- Create war directory -->
<mkdir dir="${dist.home}" /> <!-- Create application WAR file -->
<jar jarfile="${dist.home}/${app.name}.war" basedir="${build.home}" /> </target> </project>

三、最后直接运行target即可

贴上demo的github地址:https://github.com/peterchenhdu/AntDemo/

有兴趣的可以下载下来看看,一个基于struts2的web工程,使用ant自动编译打包成war。

使用Ant构建struts2 web工程,自动编译,打包成war的更多相关文章

  1. Ant自动编译打包&发布 android项目

    Eclipse用起来虽然方便,但是编译打包android项目还是比较慢,尤其将应用打包发布到各个渠道时,用Eclipse手动打包各种渠道包就有点不切实际了,这时候我们用到Ant帮我们自动编译打包了. ...

  2. Andorid进阶7—— Ant自动编译打包&发布 android项目

    http://www.cnblogs.com/tt_mc/p/3891546.html Eclipse用起来虽然方便,但是编译打包android项目还是比较慢,尤其将应用打包发布到各个渠道时,用Ecl ...

  3. Ant自动编译打包android项目(转载)

      1.1   Ant安装 ant的安装比较简单,下载ant压缩包  http://ant.apache.org  (最新的为1.9.3版本),下载之后将其解压到某个目录(本人解压到E:\Progra ...

  4. (转载)Ant自动编译打包android项目

    1  Ant自动编译打包android项目 1.1   Ant安装 ant的安装比较简单,下载ant压缩包  http://ant.apache.org  (最新的为1.9.3版本),下载之后将其解压 ...

  5. Android - Ant自动编译打包android项目 -- 1(转)

    1.  背景: Eclipse用起来虽然方便,但是编译打包android项目还是比较慢,尤其当要将应用打包发布到各个渠道时,用Eclipse手动打包各种渠道包就有点不切实际了,这时候我们用到Ant帮我 ...

  6. 根据wsdl文件,Web工程自动生成webservice客户端调用

    根据wsdl文件,Web工程自动生成webservice客户端调用 1,工具:带有webservice插件的eclips 2,步骤: (1),新建一个Web工程:WSDLTest (2),浏览器访问W ...

  7. eclipse新建web项目,发布 run as 方式和 new server然后添加项目方式。 后者无法自动编译java 成class文件到classes包下。

    eclipse新建web项目,发布 run as 方式和 new server然后添加项目方式. 后者无法自动编译java 成class文件到classes包下. 建议使用run as  -  run ...

  8. Android-Ant自动编译打包android项目 -- 2 ----签名与渠道包

    上篇介绍了怎么使用ant自动编译打包现有的android项目,这篇将继续介绍如果如何在ant打包应用的时候加入签名信息以及自动打包渠道包. 1. 加入签名信息: 在项目的根目录下建一个ant.prop ...

  9. ant:如何用ant将web project打包成war包

    说明:src中的文件将不会呈现出来,诸位可以自己写一个简单的web项目,然后依照我所提供的ant脚本配置来设置. 文件结构如图所示:               配置为下: build.xml < ...

随机推荐

  1. Xcode-快捷键大全

    1. 文件CMD + N: 新文件CMD + SHIFT + N: 新项目CMD + O: 打开CMD + S: 保存CMD+OPt+S:保存所有文件CMD + SHIFT + S: 另存为CMD + ...

  2. chrome开发者工具浅析--timeline

    一.概述                                                                                                 ...

  3. Web前端开发十日谈

    =========================================================================== 原文章: http://kb.cnblogs.c ...

  4. 小巧方便的MVC后端验证码,供大家学习借鉴

    调用: public ActionResult Vcode()//验证码 { string code = ValidateCode.CreateRandomCode(4); ValidateCode. ...

  5. 在一个未知的CentOS服务器中如何加上PHP的openssl扩展

    1. 服务器是定制过的,不知对应的centos版本: 2. PHP是自己编译的,而且服务器上没有保留对应版本的源代码,通过/pathto/php -v 找出php版本号,然后wget去下载对应的php ...

  6. n个人作m幅画

    题目网址: http://codeforces.com/problemset/problem/416/B A well-known art union called "Kalevich is ...

  7. CSS应用内容补充及小实例

    一.clear 清除浮动 <!DOCTYPE html> <html lang="en"> <head> <meta charset=&q ...

  8. Play Framework介绍:控制器层

    业务逻辑代码通常位于模型(model)层.客户端(比如浏览器)无法直接调用其中的代码,所以模型对象提供的功能,必须作为资源以URI方式暴露给外部. 客户端使用HTTP协议来操作这些资源,从而调用了内部 ...

  9. 配置VS代码生成工具ReSharper快捷键

    VS代码生成工具ReSharper提供了丰富的快捷键,可以极大地提高你的开发效率.安装ReSharper后首次启动Visual Studio时,会出现一个名为ReSharper Keyboard Sc ...

  10. css 负边距 小记

    水平格式化 当我们在元素上设置width的时候,影响的是内容区的宽度  但是当我们又为元素指定指定了内边距 边框 外边距 还是会增加宽度值  (IE传统盒模型 内边距 边框 会在元素的宽度内扩展 ma ...