ant打war包过程

Ant 相关的介绍我就不详述了,网上这方面介绍还是比较多的,下面我就用一个简单的 web 应用做示例。
附件 anttest.rar 包里面是一个简单的登陆应用,输入用户和密码跳转成功页面并显示输入的值,这个工程是用 myeclispe 写的,下面我就模拟实现 myeclipse 的 tomcat 发布 web 应用,将这个应用打包到 tomcat 的 webapps 目录下。

1.构建ant环境
1)安装jdk,设置JAVA_HOME ,PATH ,CLASS_PATH。
2)下载ant 地址www.apache.org。
3)解压ant 你得到的是一个压缩包,解压缩它
4)设置ANT_HOME PATH中添加ANT_HOME目录下的bin目录。
5)测试一下你的设置。开始-->运行-->cmd进入命令行-->键入 ant 回车,如果看到
Buildfile: build.xml does not exist!
Build failed
说明配置已经OK
2.解压附件 anttest.rar 压缩包随便放到哪个目录下面,将下面的 build.xml 放在和 anttest 同一个目录下面

build.xml:

Build.xml代码   收藏代码
  1. "." default="publish" name="anttest">  
  2.     "init" description="设置初始化打 war 包需要的路径变量">  
  3.         "name" value="anttest"/>  
  4.         "src" value="${basedir}/anttest/src"/>  
  5.         "lib" value="${basedir}/anttest/WebRoot/WEB-INF/lib"/>  
  6.         "webapp" value="${basedir}/anttest/WebRoot"/>  
  7.         "packages" value="ant.*"/>  
  8.           
  9.         "build.src" value="${basedir}/AntBuild/anttest/src"/>  
  10.         "build.dest" value="${basedir}/AntBuild/anttest/WEB-INF/classes"/>  
  11.         "buildwar.dest" value="${basedir}/AntBuild/anttest"/>  
  12.         "build.javadocs" value="${basedir}/AntBuild/doc"/>  
  13.         "jar.dest" value="${basedir}/AntBuild/jar"/>  
  14.         "war.dest" value="${basedir}/AntBuild/war"/>  
  15.           
  16.         "tomcat.home" value="D:\Program Files\Apache Software Foundation\Tomcat 6.0"/>  
  17.         "j2eelib.dir" value="D:\Program Files\MyEclipse 6.5\myeclipse\eclipse\plugins\com.genuitec.eclipse.j2eedt.core_6.5.0.zmyeclipse650200806\data\libraryset\EE_5"/>  
  18.           
  19.         "classpath">  
  20.             "${j2eelib.dir}">  
  21.                 "**/*.jar"/>  
  22.               
  23.             "${lib}">  
  24.                 "**/*.jar"/>  
  25.               
  26.           
  27.       
  28.       
  29.     "prepare" depends="init" description="创建打包需要的路径,拷贝源文件到打包路径下">  
  30.         "${build.src}"/>  
  31.         "${build.dest}"/>  
  32.         "${buildwar.dest}"/>  
  33.         "${jar.dest}"/>  
  34.         "${war.dest}"/>  
  35.         "${build.src}">  
  36.             "${src}"/>  
  37.           
  38.         "${buildwar.dest}">  
  39.             "${webapp}"/>  
  40.           
  41.       
  42.       
  43.     "build" depends="prepare" description="编译 java 文件,拷贝 properties 属性配置文件到编译后的路径下">  
  44.         "${build.src}" destdir="${build.dest}">  
  45.             "classpath"/>  
  46.           
  47.         "${build.dest}">  
  48.             "${build.src}">  
  49.                 "**/*.properties"/>  
  50.               
  51.           
  52.       
  53.       
  54.     "antwar" depends="javadoc" description="打 war 包,不将 java 文件打入包内">  
  55.         "${build.src}"/>  
  56.         "${war.dest}/anttest.war" webxml="${buildwar.dest}/WEB-INF/web.xml">  
  57.             "${buildwar.dest}/WEB-INF/lib"/>  
  58.             "${build.dest}"/>  
  59.             "${buildwar.dest}"/>  
  60.           
  61.       
  62.       
  63.     "publish" depends="antwar,clean" description="发布 war 包至 tomcat 目录下">  
  64.         "${tomcat.home}/webapps">  
  65.             "${war.dest}">  
  66.                 "**/*.war"/>  
  67.               
  68.           
  69.       
  70.       
  71.     "javadoc" depends="build" description="生成 java 的 API 帮助文档">  
  72.         "${build.javadocs}"/>  
  73.         "${packages}" sourcepath="${build.src}" destdir="${build.javadocs}" author="true" version="true" use="true" splitindex="true" windowtitle="${name} API" doctitle="${name}">  
  74.             "classpath"/>  
  75.           
  76.       
  77.       
  78.     "clean" depends="init" description="清除打包用临时文件">  
  79.         "${build.src}"/>  
  80.           
  81.             "${build.dest}" includes="**/*.classes"/>  
  82.           
  83.         "${buildwar.dest}"/>  
  84.       
  85.   

注意:里面有个 j2ee 的 jar 包目录,如果要测试的话把这个目录换成本机的这个目录,然后就可以在命令行里面到这个目录下直接执行 ant 命令就可以看到效果了。

3.最后执行的结果如下:
D:\temp>ant
Buildfile: build.xml

init:

prepare:
    [mkdir] Created dir: D:\temp\AntBuild\anttest\src
    [mkdir] Created dir: D:\temp\AntBuild\anttest\WEB-INF\classes
    [mkdir] Created dir: D:\temp\AntBuild\jar
    [mkdir] Created dir: D:\temp\AntBuild\war
     [copy] Copying 4 files to D:\temp\AntBuild\anttest\src
     [copy] Copying 19 files to D:\temp\AntBuild\anttest

build:
    [javac] Compiling 2 source files to D:\temp\AntBuild\anttest\WEB-INF\classes

     [copy] Copying 2 files to D:\temp\AntBuild\anttest\WEB-INF\classes

javadoc:
    [mkdir] Created dir: D:\temp\AntBuild\doc
  [javadoc] Generating Javadoc
  [javadoc] Javadoc execution
  [javadoc] 正在装入软件包 ant.action 的源文件...
  [javadoc] 正在装入软件包 ant.form 的源文件...
  [javadoc] 正在构造 Javadoc 信息...
  [javadoc] 标准 Doclet 版本 1.5.0_06
  [javadoc] 正在构建所有软件包和类的树...
  [javadoc] 正在生成 D:\temp\AntBuild\doc\ant/action/\LoginAction.html...
  [javadoc] D:\temp\AntBuild\anttest\src\ant\action\LoginAction.java:26: 警告 -
@struts.action 是未知标记。
  [javadoc] D:\temp\AntBuild\anttest\src\ant\action\LoginAction.java:26: 警告 -
@struts.action-forward 是未知标记。
  [javadoc] 正在生成 D:\temp\AntBuild\doc\ant/form/\LoginForm.html...
  [javadoc] D:\temp\AntBuild\anttest\src\ant\form\LoginForm.java:19: 警告 - @str
uts.form 是未知标记。
  [javadoc] 正在生成 D:\temp\AntBuild\doc\overview-frame.html...
  [javadoc] 正在生成 D:\temp\AntBuild\doc\ant/action/\package-frame.html...
  [javadoc] 正在生成 D:\temp\AntBuild\doc\ant/action/\package-summary.html...
  [javadoc] 正在生成 D:\temp\AntBuild\doc\ant/action/\package-tree.html...
  [javadoc] 正在生成 D:\temp\AntBuild\doc\ant/form/\package-frame.html...
  [javadoc] 正在生成 D:\temp\AntBuild\doc\ant/form/\package-summary.html...
  [javadoc] 正在生成 D:\temp\AntBuild\doc\ant/form/\package-tree.html...
  [javadoc] 正在生成 D:\temp\AntBuild\doc\constant-values.html...
  [javadoc] 正在生成 D:\temp\AntBuild\doc\serialized-form.html...
  [javadoc] 正在生成 D:\temp\AntBuild\doc\ant/action/\class-use\LoginAction.html
...
  [javadoc] 正在生成 D:\temp\AntBuild\doc\ant/form/\class-use\LoginForm.html...
  [javadoc] 正在生成 D:\temp\AntBuild\doc\ant/action/\package-use.html...
  [javadoc] 正在生成 D:\temp\AntBuild\doc\ant/form/\package-use.html...
  [javadoc] 正在构建所有软件包和类的索引...
  [javadoc] 正在生成 D:\temp\AntBuild\doc\overview-tree.html...
  [javadoc] 正在生成 D:\temp\AntBuild\doc\index-files\index-1.html...
  [javadoc] 正在生成 D:\temp\AntBuild\doc\index-files\index-2.html...
  [javadoc] 正在生成 D:\temp\AntBuild\doc\index-files\index-3.html...
  [javadoc] 正在生成 D:\temp\AntBuild\doc\index-files\index-4.html...
  [javadoc] 正在生成 D:\temp\AntBuild\doc\index-files\index-5.html...
  [javadoc] 正在生成 D:\temp\AntBuild\doc\index-files\index-6.html...
  [javadoc] 正在生成 D:\temp\AntBuild\doc\index-files\index-7.html...
  [javadoc] 正在生成 D:\temp\AntBuild\doc\deprecated-list.html...
  [javadoc] 正在构建所有类的索引...
  [javadoc] 正在生成 D:\temp\AntBuild\doc\allclasses-frame.html...
  [javadoc] 正在生成 D:\temp\AntBuild\doc\allclasses-noframe.html...
  [javadoc] 正在生成 D:\temp\AntBuild\doc\index.html...
  [javadoc] 正在生成 D:\temp\AntBuild\doc\overview-summary.html...
  [javadoc] 正在生成 D:\temp\AntBuild\doc\help-doc.html...
  [javadoc] 正在生成 D:\temp\AntBuild\doc\stylesheet.css...
  [javadoc] 3 警告

antwar:
   [delete] Deleting directory D:\temp\AntBuild\anttest\src
      [war] Building war: D:\temp\AntBuild\war\anttest.war

clean:
   [delete] Deleting directory D:\temp\AntBuild\anttest

publish:
     [copy] Copying 1 file to D:\Program Files\Apache Software Foundation\Tomcat
6.0\webapps

BUILD SUCCESSFUL
Total time: 3 seconds

你可能感兴趣的:(ant,项目管理)