在日常的项目开发,经常需要我们可以打包测试。特别是,开发环境是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>

是不是非常easy,好吧。假设你觉得本文还能够,请关注我的个人博客!

或增加QQ组:135430763共同学习!

版权声明:本文博客原创文章。博客,未经同意,不得转载。

ant利用先进,ant订单具体解释,ant包,ant包装删除编译jar文件的更多相关文章

  1. 使用Maven管理依赖JAR文件,自定义项目布局,利用ANT生成不同的发布包

    <?xml version="1.0" encoding="GB2312"?> <project name="CardInfo-We ...

  2. Ant利用第三方的task

    转自 http://blog.sina.com.cn/s/blog_3d21e545010006s9.html 一.如何使用第三方任务   Ant可以使用第三方任务,在使用第三方任务之前,需告知Ant ...

  3. 使用ant插件打包生成jar文件

    1.环境 新版Eclipse中已经集成了Ant插件,在Preferences中可以看到.(2017版) 旧版本的Eclipse如果没有集成Ant插件,安装配置方法在文档最后. 2.使用教程 (1)新建 ...

  4. java 用ant打包成jar文件

    一.下载ant包,解压放放到你的项目中 二.在ant文件夹下创建一个build.xml文件,内容如下 <?xml version="1.0" encoding="G ...

  5. 在ant编译java文件时产生debug信息

    使用ant编译java文件时,如果没有设置debug属性,则不会产生编译信息,ant的默认设置是不打印编译信息. 如果想在编译过程中显示编译信息,需设置debug属性为true,并且设置debugLe ...

  6. Ant入门之引用外部jar文件

    笔者在java项目开发中经常遇到引用外部Jar包的情况,使用ant打包过程中需要对其引用.现在此简单记忆以飨来者. 此处引用Log4j,具体程序HelloLog4j.java: package oat ...

  7. ant安装配置问题:ANT_HOME is set incorrectly or ant could not be located. Please set ANT_HOME.

    项目用到ant 1.去官网下载:http://ant.apache.org/bindownload.cgi 2.解压至安装C盘 3.设置ANT_HOME.PATh.CLASSPATH ANT_HOME ...

  8. Jenkins+SVN+Ant在Linux环境下自动完成版本的增量更新与编译

    第一步:查看安装的jdk版本,查看是否安装ant,查看是否安装Jenkins java -version ant -version rpm -qa|grep jenkins 第二步:安装ant 官网: ...

  9. oracle在imp订单具体解释

    oracle在imp订单具体解释 Oracle导入实用程序(Import utility)同意从数据库中提取数据,和写入数据到一个操作系统文件项目.imp所用的基本格式:imp[username[/p ...

随机推荐

  1. Spring的datasource配置详解

    一句话,Spring对Hibernate的整合,是在applicationContext.xml中配置sessionFactory来实现的,其中sessionFactory中要装配dataSource ...

  2. POJ2828 Buy Tickets 【线段树】+【单点更新】+【逆序】

    Buy Tickets Time Limit: 4000MS   Memory Limit: 65536K Total Submissions: 12296   Accepted: 6071 Desc ...

  3. SPOJ DISUBSTR(字符串hash)

    传送门:DISUBSTR 题意:给定一个字符串,求不同子串个数. 分析:由于数据较小,直接枚举长度为1,2...n的所有子串进行hash即可,复杂度(O(n^2)),后缀数组才是正解(O(nlogn) ...

  4. 【STL】关联容器 — hash_set

    容器hash_set是以hash table为底层机制的,差点儿所有的操作都是转调用hash table提供的接口.因为插入无法存储同样的键值,所以hash_set的插入操作所有都使用hash tab ...

  5. hdu4341(分组背包)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4341 题意:一个人在原点(0,0)抓金子,每块金子有一个获得需要的时间t和价值v.而且有的金子可能在一 ...

  6. hdu1151 Air Raid,DAG图的最小路径覆盖

    点击打开链接 有向无环图的最小路径覆盖 = 顶点数- 最大匹配 #include <queue> #include <cstdio> #include <cstring& ...

  7. 【Unity Shaders】使用CgInclude让你的Shader模块化——Unity内置的CgInclude文件

    本系列主要參考<Unity Shaders and Effects Cookbook>一书(感谢原书作者),同一时候会加上一点个人理解或拓展. 这里是本书全部的插图. 这里是本书所需的代码 ...

  8. Linux系统时间和硬件时间设置

    在Linux中有硬件时钟与系统时钟两种时钟.硬件时钟是指主机板上的时钟设备,也就是通常可在BIOS画面设定的时钟.系统时钟则是指kernel中的时钟.所有Linux相关指令与函数都是读取系统时钟的设定 ...

  9. TextBox自定义Mac输入框类

    using System.Windows.Controls; namespace test { public class MacTextBox : TextBox { private string _ ...

  10. win7提示“ipconfig不是内部或外部命令”

    进入windows环境变量设置->系统变量,找到path,添加C:\Windows\SysWOW64,或者c:\windows\system32