java利用Ant脚本生成war包全过程


使用ant脚本前的准备
1、下载一个ant安装包。如:apache-ant-1.8.4-bin.zip。解压到E盘。

2、配置环境变量。新增ANT_HOME:E:\apache-ant-1.8.4;PATH增加:E:\apache-ant-1.8.4\bin。

3、检查ant是否配置完成。运行->cmd输入:ant -version。查看是否打印ant的版本号。

打包的实质
生成jar包的实质

1、编译工程src文件夹下的java文件,生成相应的class文件。

2、将所有的class文件集合成jar包。

生成war包的实质

1、编译工程src文件夹下的java文件,生成相应的class文件。

2、将工程WebContent下的除了class文件和jar包以外的文件,全部拷贝到war包的对应目录下。

3、将编译生成的class文件,全部拷贝到war包WEB-INF/classes文件夹下。

4、将工程lib中的jar包,全部拷贝到war包的WEB-INF/lib下。最后压缩成war包。

一个生成war包的ant脚本代码

<?xml version="1.0" encoding="UTF-8"?> 
 
<!-- 定义一个工程,默认任务为warFile。 --> 
<project name="awp" default="warFile" basedir="."> 
  
 <!-- 定义属性,打成war包的名称。 --> 
 <property name="warFileName" value="awp.war"></property> 
  
 <!-- 定义路径,编译java文件时用到的jar包。 --> 
 <path id="project.lib"> 
  <fileset dir="${basedir}/lib"> 
   <include name="**/*.jar"/> 
  </fileset> 
 </path> 
  
  <!-- 定义任务,清空任务:清空原有的class文件,创建新的build路径。 --> 
 <target name="clean"> 
  <delete dir="${basedir}/src/main/webapp/WEB-INF/classes" /> 
  <mkdir dir="${basedir}/src/main/webapp/WEB-INF/classes" /> 
 </target> 
  
 <!-- 定义任务,编译src文件夹中的java文件,编译后的class文件放到创建的文件夹下。 --> 
 <target name="build" depends="clean"> 
  <javac srcdir="${basedir}/src/main/java" destdir="${basedir}/src/main/webapp/WEB-INF/classes" includeantruntime="false" source="1.6" target="1.6"> 
   <classpath refid="project.lib"> 
   </classpath> 
  </javac>
  
  <!--复制src/main/java下非java文件到/src/main/webapp/WEB-INF/classes-->
  
  <copy todir="${basedir}/src/main/webapp/WEB-INF/classes">
   <fileset dir="${basedir}/src/main/java">
    <include name="**/**.*" /> 
    <exclude name="**/*.java"/>     
   </fileset>
  </copy>
 </target> 
  
 <!-- 定义默认任务,将class文件集合成jar包。 --> 
 <target name="warFile" depends="build"> 
  <!--将lib文件夹下的jar打包到WEB-INF/lib下 -->
  
  <copy todir="${basedir}/src/main/webapp/WEB-INF/lib">
       <fileset dir="${basedir}/lib">
       
       </fileset>
  </copy>
  <!-- 建立新war包。 --> 
  <war destfile="${basedir}/${warFileName}" webxml="${basedir}/src/main/webapp/WEB-INF/web.xml"> 
   <!-- 将非jar和非class文件拷贝到war包的对应路径下。 --> 
    <fileset dir="${basedir}/src/main/webapp"> 
      <include name="**/**.*" /> 
      <exclude name="**/*.jar"/> 
      <exclude name="**/*.class"/> 
    </fileset> 
   <!-- 将jar和class文件拷贝到war包的对应路径下。 --> 
    <lib dir="${basedir}/src/main/webapp/WEB-INF/lib" /> 
    <classes dir="${basedir}/src/main/webapp/WEB-INF/classes" /> 
  </war> 
 </target> 
  
</project>

以上就是本文的全部内容,希望对大家的学习有所帮助。



相关阅读:
Win10 Mobile 10586.107怎么更新?Lumia950/XL/550可升级
jQuery DataTables插件自定义Ajax分页实例解析
win10旧版本软件安装失败提示"不能执行临时目录中的文件"的两种解决办法
部分Win10用户吐槽:电量消耗变快、发热加剧
Win10控制面板中某些项打不开该怎么办?
Win10系统磁盘多出两个小人图标怎么删除?
JS判断、校验MAC地址的2个实例
正则表达式(语法篇推荐)
Json序列化和反序列化方法解析
深入解读CSS的OOCSS和SMACSS以及BEM
EasyUI在表单提交之前进行验证的实例代码
JavaScript中的Math.SQRT1_2属性使用简介
详解C++中对构造函数和赋值运算符的复制和移动操作
Win10正式版和预览版的照片应用可查看和剪辑视频(已测试)
快速导航
PHP MySQL HTML CSS JavaScript MSSQL AJAX .NET JSP Linux Mac ASP 服务器 SQL jQuery C# C++ java Android IOS oracle MongoDB SQLite wamp 交通频道 作文范文 绩溪县-萍乡 凤县-绵阳 龙南-安陆 大庆西-唐山 凌源-普兰店 道仑郭勒-林西 潍坊-柳州 大西-桦南 余姚北-新余北 郁南-云浮东 子长-盐池 公主岭-熊岳城 向塘-庐山 大河坝-九龙塘 大民屯-哈达阳 官厅-石家庄北 绥中北-滦河 新余北-湘潭北 神峪河-崇信 北京西-晋城 巩义-公主岭 金昌-阿克苏 广州-烟台 石家庄北-吐鲁番 吉首-郑州 郑州-镇江南 通辽-新华屯 武义北-溧阳 铜仁南-昆明南 枣庄-重庆北 新乡-辛集 海林-密山 福生庄-八苏木 江油-卫辉 唐河-东安东 深圳-旬阳 西柳-缙云 海阳-新民 天津-青县 哈尔滨西-商丘南 花湖-鄂州东 大口钦-孙家 武昌-月山 衡山-云梦 滦县-南京 女儿河-何三家 绥德-铁力 桂平-龙里北 武夷山东-泉州 兴宁-庐山 萨拉齐-渠县 满洲里-马三家 互助-倭肯 鲘门-漳州 南城司-奇峰塔 昆山-富县东 龙江-通远堡 东丰-铁岭 灵石东-西安北 杨陵-惠州 金山北-绅坊 十八台-马盖图 宝鸡南-蒲城东 碱柜-包头西 呼和浩特东-土贵乌拉 盐津-大山铺 绥化-延安 海城-沈阳 福兴地-贲红 济源-石门县北 邵武-向塘 德阳-保定 扎兰屯-康金井 烟筒山-松江 虎山-横道河子 风陵渡-蚌埠 桐柏-黎塘 三家店-北京西 中山-北京西 禹城-桃村 我想在枣庄市申办一个列车火车票代售点。请问到哪个部门办理具备
从马鞍山到东莞石排镇怎么走
长沙到南昌的动车组建改变了吗
邢台到焦作高速怎么坐车走那几条
南通大地物流公司坐车怎样到达
徐州到乌鲁木齐的火车列车票好买吗
从雅安到合肥怎么坐车
从北京南站到安定门内大街,地铁和公交分别应该乘什么车
我从通辽到甘旗卡坐汽车客车要多少钱
我要从花都客车汽车站到中山火炬开发区
荆州列车火车站开通后会有到上海的列车火车吗
求永修车站到共青城的汽车客车时刻表。
厦门到福州坐汽车要多久
从广州到重庆坐飞机还是列车
什么快递能到汕头潮阳区关埠镇
锦州南火车站到锦州石化职业技术学院打车多久
从上海闵行颛桥地铁站到静安区乌鲁木齐北路456号怎么坐车
没有徐州工程兵指挥学院,云龙区,10路车可以到的,东甸子
从韶关到河源要过那些收费站 要经过高埔收费站不
我需要临时去看老家人,想找人帮忙从邢台火车站拉到留客
乘火车列车从昆明到漳州的最佳方案
从上海南出发到上饶再从上饶到昆明的火车列车要几个小时啊帮帮
谁能告诉我,从保定到廊坊的大城县需要花多少小时,要花多少
从临汾路到长宁路怎么坐车呀
有长沙到新疆的列车火车票买吗
邢台到神木公路怎么坐车
拉萨代办客车汽车年检年审的地方哪有呀
哪位好心人 能告诉我从安徽省凤阳县到湖北省黄石市最佳坐车路
从运城到柳州做什么火车列车 能在运城就一次性买好票么 请有经验
从汕头列车火车站到莲塘要坐哪几趟车啊?是不是倒一次车就能到?

Copyright © 2016 phpStudy |