ant的高级使用,ant命令详解,ant打包,ant编译后打包去掉jar文件
在日常的项目开发中,我们可以经常性的需要打包测试,尤其是开发环境是windows,而实际环境则是linux。
这样的话,很多程序员要一会打一个包,一会打一个包,这些包可能会很大,实际上只有代码部分会变动,而jar包基本则不动。
当然很多人可能会说,自动化测试。很好的,我们今天要做的就是自动化测试的第一步。
这个时候我是可以使用ant来打包,去掉项目中的所有的jar文件。然后在项目的tomcat启动时到特定的地点去加载jar文件。
这样做,war包可能会只有几M,什么更小。具体如何动态的加载jar文件,我们在下一章讲解,这一章,我们先来看ant打包的build.xml配置。
看源代码:
<?xml version="1.0" encoding="UTF-8" ?>
<project name="nojar" default="deleteClasses" basedir="."><property name="classes" value="build/classes" /><property name="build" value="build" /><property name="lib" value="WebRoot/WEB-INF/lib" /><path id="compile.jar"><fileset dir="${lib}"><include name="*.jar" /></fileset></path><!-- 删除build路径--><target name="deleteBuild"><delete dir="build" /><copy todir="${classes}/com/herman/config"><fileset dir="${basedir}/src/com/herman/config"><include name="*" /></fileset></copy></target><!-- 建立build/classes路径,并编译class文件到build/classes路径下--><target name="compile" depends="deleteBuild"><mkdir dir="${classes}" /><javac srcdir="src" destdir="${classes}" includeantruntime="on" encoding="utf-8"><classpath refid="compile.jar" /></javac></target><!-- 打war包--><target name="war" depends="compile"><war warfile="${build}/nojar.war" webxml="WebRoot/WEB-INF/web.xml" encoding="utf-8"> <!-- 拷贝WebRoot下除了WEB-INF和META-INF的两个文件夹--><fileset dir="WebRoot" includes="**/*.jsp"></fileset><!--<fileset dir="WebRoot" includes="**/*.*" excludes="META-INF,WEB-INF"/>--><!-- 拷贝lib目录下的jar包--><!--<lib dir="${lib}" />--><!-- 拷贝build/classes下的class文件--><classes dir="${classes}" /></war> </target><!-- 删除build/下的classes下的字节码文件,减少war包的总大小--><target name="deleteClasses" depends="war"><!--<delete dir="${classes}"></delete>--></target>
</project>
是不是很简单,好吧,如果你认为本文还可以,请关注我的个人博客!
或者加入QQ群:135430763共同学习!
ant的高级使用,ant命令详解,ant打包,ant编译后打包去掉jar文件相关推荐
- Java基础 - javac命令详解(1) 编译基本java项目
1.为什么要搞定 javac 命令 1.javac 是java中的编译源代码的命令工具,将.java文件编译成 .class 文件: 2.由于当下为了提高开发效率,大多数的开发工作都在 java的 集 ...
- 批处理命令 For循环命令详解!
批处理for命令详解 FOR这条命令基本上都被用来处理文本,但还有其他一些好用的功能! 看看他的基本格式(这里我引用的是批处理中的格式,直接在命令行只需要一个%号) FOR 参数 %%变量名 IN ( ...
- cut\grep\awk\sed命令详解
cut\grep\awk\sed命令详解 1.cut命令详解及实例 (1)作用:提取文件中指定的列 语法格式:cut 选项 文件名 (2)选项作用: -d 分隔符 按照指定的 ...
- 终极dos批处理循环命令详解
---恢复内容开始--- 终极dos批处理循环命令详解 格式:FOR [参数] %%变量名 IN (相关文件或命令) DO 执行的命令作用:对一个或一组文件,字符串或命令结果中的每一个对象执行特定命令 ...
- linux find 按类型查找,Linux find查找find命令详解
玩蛇网推荐图文教程:python 列表 Linux命令有很多,今天要介绍的是常用的基础命令中的find命令.find是Linux系统管理员所喜爱用的必备工具命令之一,它的作用是可以很轻松地找到你想要的 ...
- linux显示当前目录下文件,Linux显示当前目录有哪些文件命令-linux ls命令详解-嗨客网...
Linux显示当前目录文件(ls)教程 在 Linux ls命令详解 功能 显示当前目录或指定路径下面的文件列表. 语法 ls [options] [dirname] 参数 参数 描述 options ...
- Ant命令详解和build.xml
1.Ant命令详解 Ant项目文件的构建可编译,包,测试.这是Apache软件基金会jakarta一个子项目,具有跨平台性,操作简单,并且非常好上手 1.直接执行ant,当前build.xml文件下直 ...
- DOS批处理高级教程(三) : 批处理变量和set命令详解
前言 这里主要是带着过一下相关的简单概念和用法, 是对于有一定的基础和编写脚本经验的同学而言, 那么一般下面的用法都是一眼看出作用和原理起到一个复习的作用.对于不熟悉的可以查询相关命令和百度即可. 第 ...
- Android自动化测试环境部署及adb sdkmanager avdmanager Monitor DDMS工具使用及命令详解
环境部署及工具使用 系列文章 前言 环境部署 硬件环境 软件环境 ADB工具 adb组成 adb命令 android命令 sdkmanager 命令 avdmanager命令 管理模拟器 monito ...
- 把java文件打包成.jar (jar命令详解)
把java文件打包成.jar (jar命令详解) 先打开命令提示符(win2000或在运行框里执行cmd命令,win98为DOS提示符),输入jar Chelp,然后回车(如果你盘上已经有了jdk1. ...
最新文章
- 做科研已经很辛苦了,为什么还要做PPT汇报?
- java blender_[转载]将Blender模型展示于WEB
- 一个实用的表格(锁定表头,可调整单元格大小,可排序)
- 【Python Flask】使用Ajax向后台提交数据(拼接url方式)
- android任务 进程 线程详解,Android任务、进程、线程详解
- (计算机组成原理)第七章输入和输出系统-第四节2:I/O方式之程序中断方式
- MongoDB数据库操作---mongoose操作
- .svn文件夹_SVN下载安装及使用教程(二)
- 一不小心,老司机又翻车了
- Android对话框的高级设置《一》设置对话框按钮的图像和在内容文本中插入图像
- Mavon-editor:获取html内容和text内容
- 微博java版_新浪微博JAVA通用版
- 阅读器背景推荐和效果图
- R语言使用ggplot2包使用geom_density()函数绘制分组密度图(填充色配置、半透明填充色、添加均值线)实战(density plot)
- jpa mysql lob_Jpa加载Lob字段报Unable to access lob stream异常
- 翻译:PyTorch基础知识学习 - transforms(变换)
- Error: docker-ce conflicts with 2:docker-1.13.1-209.git7d71120.el7.centos.x86_64
- unity弹幕功能实现
- 【程序员眼中的统计学(11)】卡方分布的应用
- 爬虫数据分析-----matplotlib图形展示