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 > <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 ref /> </javac> </target> <!-- 打war包--> <target name="war" depends="compile"> <war 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共同学习!
最后更新:2017-04-03 05:38:54
上一篇:
Swift构造器(Initializer)与析构器(Deinitializer)
下一篇:
puppet 利用 facter, 实现不同主机调用不同变量方法
机器学习知识图谱
HTAP数据库 PostgreSQL 场景与性能测试之 15 - (OLTP) 物联网 - 查询一个时序区间的数据
android 加载图片轻松避免OOM(out of memory) 支持设置缓存大小,不再强制catch OOM
SDCC 2017·深圳站,业内顶尖架构师于数据技术专家分享干货实料
c:foreach遍历和s:iterator遍历异同
shiro
人类与机器人,如何能像朋友一样愉快聊天?
[Android]代码实现ColorStateList及StateListDrawable
android利用jdk制作签名
畅想智能存储,2017中国计算机大会“下一代数据中心存储技术与系统”论坛举行