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 服务器 CMS SQL jQuery C# C++ java Android IOS oracle MongoDB PostgreSQL SQLite 交通频道 省西安汽车站小件快运行包托运部 陕西省西安市新城区
岐山五丈原客运站 陕西省宝鸡市岐山县
华池汽车站 甘肃省庆阳市华池县
中新镇汽车客运站 四川省绵阳市三台县
泉庄客运站 山东省临沂市沂水县
柘坝车站 四川省广元市剑阁县
莒南城乡客运站 山东省临沂市莒南县
近海客运站 辽宁省沈阳市辽中县
许昌县商集镇客运站 河南省许昌市许昌县
潢川双柳汽车站 河南省信阳市潢川县
王串场客运站 真理道43号
兴化市竹泓汽车客运站 江苏省泰州市兴化市
沐川汽车站 四川省乐山市沐川县
蒲岐客运站 浙江省温州市乐清市
萧山汽车站行李房 浙江省杭州市萧山区
客运段营销点 辽宁省大连市西岗区胜利街52号
越西客运中心 四川省凉山彝族自治州越西县
南陵县汽车站车出口 安徽省芜湖市南陵县
钦州大垌客运站 三二五国道
上林汽车客运站 广西壮族自治区南宁市上林县
山东渤海轮渡客运站4号出站口 山东省烟台市芝罘区
岩泊渡汽车站 湖南省张家界市慈利县
金秀桐木汽车站 广西壮族自治区来宾市金秀瑶族自治县
高唐梁庄客运站 山东省聊城市高唐县
搬罾客运站 四川省南充市顺庆区
南昌县塘南客运站 江西省南昌市南昌县
湖滏客运站 江苏省无锡市宜兴市
会同洒溪汽车站 三一八省道
富宁汽车客运站 云南省文山壮族苗族自治州富宁县
水东汽车站 江西省赣州市信丰县
郑州上街汽车站 河南省郑州市上街区
东台民生汽车客运站 江苏省盐城市东台市
马武汽车站 重庆市涪陵区
黎塘客运服务站 仁爱路
柳河客运总站公铁分流站 吉林省通化市柳河县
清徐汽车站 山西省太原市清徐县
武功镇客运站 陕西省咸阳市武功县
菱塘汽车客运站 江苏省扬州市高邮市
清华洞汽车站 云南省大理白族自治州祥云县
巴林左旗十三敖包客运站 内蒙古自治区赤峰市巴林左旗
荞坝农村客运站 四川省乐山市马边彝族自治县
九江汽车站 浔阳区浔阳东路65号公交/驾车
赵庙客运站 零零五县道
禹州客运北站 河南省许昌市禹州市
保寿客运站 吉林省长春市榆树市
宜州市客运综合服务站洛东分站 广西壮族自治区河池市宜州市
蒋家坪汽车站 湖南省张家界市慈利县
津市欣运客运站有限责任公司 湖南省常德市津市市
舞阳中心客运站 河南省漯河市舞阳县
新林客运站 四川省乐山市峨边彝族自治县
乌鲁木齐市米东区客运站 东山街
雷塬乡客运站 陕西省铜川市宜君县
川味浓汽车站分店 山东省济宁市邹城市
巴中西城客运站 巴中大道中段
大寨客运站 河北省衡水市冀州市
白果汽车客运站 四川省广元市元坝区
方正沙河子客运站 黑龙江省哈尔滨市方正县
桂东县汽车站进站口 湖南省郴州市桂东县
临泉恒发快速客运站 安徽省阜阳市临泉县
广宁潭布客运站 广东省肇庆市广宁县
邹平服务区-邹平高速客运 山东省滨州市邹平县
乐山肖坝旅游车站 肖坝路451
全州永利汽车客运站 三零二省道石塘段
罗田三里畈客运站 湖北省黄冈市罗田县
武鸣汽车总站保修厂 广西壮族自治区南宁市武鸣县
小渠子乡客运站 新疆维吾尔自治区乌鲁木齐市乌鲁木齐县
江阴市客运站 江阴市立新路
西直门汽车客运站 北京市海淀区西直门北下关2号
石林南大村客运站 云南省昆明市石林彝族自治县
南京长途汽车东站 花园路17号
马集客运站 江苏省扬州市仪征市
靖宇公路客运总站 西大街北路
罗平老厂客运站 云南省曲靖市罗平县
泡桐客运站 湖北省武汉市黄陂区
白马安达公共交通客运服务公司 复兴路106号
楠市农村客运站 湖南省永州市蓝山县
仁寿凤陵客运站 四川省眉山市仁寿县
汽车站 齐顺大街116号
桃江汽运车站 湖南省益阳市桃江县
东莞汽车客运北站 东莞市高埗镇北王中路卢溪路段
天津港客运站停车场 新港一号路129号
周山浜汽车站 崇安区站北路88号公交/驾车
安民汽车站 港排线
杭州双菱公交站 杭州市市辖区双菱路58号
宝鸡旅游客运汽车站 经二路20号35
鳌江客运中心 浙江省.温州市平阳县鳌江镇曙光南路78号
东阿阿胶汽车总站专营店 山东省聊城市东昌府区
汉源清溪镇客运站 四川省雅安市汉源县
富顺石道客运站 四川省自贡市富顺县
花桥客运站 福建省南平市松溪县
薛湖镇客运站 河南省商丘市永城市
韩店客运站 山东省滨州市邹平县
桥头车站 广东省东莞市
山西省榆次客运站 山西省晋中市榆次区
常平汽车总站长途汽车售票处 广东省东莞市
堂二里客运站 河北省廊坊市霸州市
冷水汽车站 四二省道
衡阳南岳汽车站 衡山路287
永宁转运站 延庆县国税局第三税务所东
汽车客运西站 中原区郑上路179号

Copyright © 2016 phpStudy |