Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >ant的高级使用,ant命令详解,ant打包,ant编译后打包去掉jar文件

ant的高级使用,ant命令详解,ant打包,ant编译后打包去掉jar文件

作者头像
业余草
发布于 2019-01-21 07:49:04
发布于 2019-01-21 07:49:04
2.1K00
代码可运行
举报
文章被收录于专栏:业余草业余草
运行总次数:0
代码可运行

在日常的项目开发中,我们可以经常性的需要打包测试,尤其是开发环境是windows,而实际环境则是linux。 这样的话,很多程序员要一会打一个包,一会打一个包,这些包可能会很大,实际上只有代码部分会变动,而jar包基本则不动。 当然很多人可能会说,自动化测试。很好的,我们今天要做的就是自动化测试的第一步。 这个时候我是可以使用ant来打包,去掉项目中的所有的jar文件。然后在项目的tomcat启动时到特定的地点去加载jar文件。

这样做,war包可能会只有几M,什么更小。具体如何动态的加载jar文件,我们在下一章讲解,这一章,我们先来看ant打包的build.xml配置。

看源代码:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<?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-INFMETA-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>

是不是很简单,好吧,如果你认为本文还可以,请关注我的个人博客!

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2014年07月01日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
web项目ant打包完整案例
前两周做的web项目要部署到服务器上去,为了后续升级部署方便,决定采用Ant进行(开发用的myeclipse 8.5),ant打包测试也是在myeclipse上进行,build.xml测试完成后地通过
小小科
2018/05/02
2K0
web项目ant打包完整案例
JAVAWEB项目自动打包部署脚本(SVN+ANT)
acts_meeting_build.xml 脚本: <?xml version="1.0" encoding="utf-8"?> <project name="acts_meeting" base
小柒2012
2018/04/13
2.2K0
ant命令征集详解
ANT的命令到此结束。他们的依赖关系,大家细细琢磨。本人目前已经不使用ANT脚本很久了。目前使用的maven,maven比ANT好多了,具体好在哪里大家可以到网上搜一搜。等以后有时间了给大家贡献maven的讲解。请大家多多关注本人的博客!!
业余草
2019/01/21
7270
ant命令征集详解
Ant_build.xml的最完整解释
Ant的概念 Make命令是一个项目管理工具,而Ant所实现功能与此类似。像make,gnumake和nmake这些编译工具都有一定的缺陷,但是Ant却克服了这些工具的缺陷。最初Ant开发者在开发跨平台的应用时,用样也是基于这些缺陷对Ant做了更好的设计。 Ant 与 makefile Makefile有一些不足之处,比如很多人都会碰到的烦人的Tab问题。最初的Ant开发者多次强调”只是我在Tab前面加了一个空格,所以我的命令就不能执行”。有一些工具在一定程度上解决了这个问题,但还是有很多其他的问题。An
流柯
2018/08/30
1.7K0
java: ant 脚本示例
1 <?xml version="1.0" encoding="UTF-8"?> 2 3 <!--basedir是从build.xml所在的目录为基础算起的--> 4 <project nam
菩提树下的杨过
2018/01/24
9280
SVN 以及自动部署配置 原
1.配置权限 [root@localhost conf]# cat authz [groups] g_manager = user1,user2 g_developer = user2 [repo:/] @g_manager = rw * = [repo:/inspur] @g_manager = rw @g_developer = rw * = [root@localhost conf]# cat passwd [users] user1=123456 user2=123456 [root@
用户2836074
2018/08/15
8900
Apache Ant安装与配置
下载Apache Ant 1.8.4http://ant.apache.org/bindownload.cgi
全栈程序员站长
2022/09/15
4.2K0
Apache Ant安装与配置
Ant下载安装及使用详解
Apache Ant 是由 Java 语言开发的工具,由 Apache 软件基金会所提供。Apache Ant 的配置文件写成 XML 容易维护和书写,而且结构很清晰。
JavaEdge
2020/05/27
3.3K0
Ant下载安装及使用详解
Jacoco统计接口测试的代码覆盖率
搜狗商城现有的接口自动化测试框架是使用Python搭建的,共900多条case,每天都会运行一次,从而监控是否有因开发代码变更或者新功能添加而导致的遗漏的bug。但我们只是依照测试用例来转换成自动化脚本、case,实际上并没有度量的指标,也不能保证测试的完整性,所以我们打算引入代码覆盖率这一指标来度量测试完整性。
用户5521279
2019/08/09
3.9K1
Jacoco统计接口测试的代码覆盖率
ant+yuicompressor 合并、压缩脚本与样式
我使用的是Eclipse编写build.xml,你可以用其它的编辑器,前提是你已经安装了ant
meteoric
2018/11/15
9120
接口测试代码覆盖率(jacoco)方案分享
在做接口测试过程中,为了达到量化接口测试用例效果的目的,引入了代码覆盖率作为重要指标,在查阅相关文档和资料通过实践之后,大概得到了一个方案。如图:
FunTester
2019/07/27
2.5K0
EJB通过ANT提高EJB应用程序的开发效率、无状态发展本地接口bean、开发状态bean「建议收藏」
关掉Jboss控制台新闻Ctrl+c,在MyEclipse→Servers→Jboss可配置JBoss。
全栈程序员站长
2022/07/06
4180
ANT标签详解
1、<project>标签 每个构建文件对应一个项目,project标签是构建文件的跟标签,它可以有多个内在属性,各个属性的含义分别如下所示: default表示默认的执行目标,这个属性是必须的。 basedir表示项目的基准路径,这个属性是必须的。 name表示项目名称。 description表示项目的描述(或者是对这个标签的作用进行表述)。 每个构建文件都对应于一个项目,但是大型项目经常包含大量的子项目,每一个子项目都可以有自己的构建文件。
用户4522413
2021/07/21
1.2K0
ANT标签详解
Ant是什么?「建议收藏」
Ant是Java的生成工具,是Apache的核心项目; Ant类似于Unix中的Make工具,都是用来编译、生成; Ant是跨平台的,而Make不能; Ant的主要目的就是把你想做的事情自动化,不用你手动一步一步做,因为里面内置了javac、java、创建目录、复制文件等功能,所以可以直接点击Ant文件,即可编译生成你的项目。 下载地址:http://ant.apache.org/bindownload.cgi
全栈程序员站长
2022/09/18
1.9K0
Ant是什么?「建议收藏」
Ant 简易教程
前言 Apache Ant,是一个将软件编译、测试、部署等步骤联系在一起加以自动化的一个工具,大多用于Java环境中的软件开发。由Apache软件基金会所提供。 Ant是纯Java语言编写的,所以具有
静默虚空
2018/01/05
1.2K0
Ant 简易教程
编译Hadoop 1.2.1 Hadoop-eclipse-plugin插件
个人理解,ant的初衷是打造一个本地化工具,而编译hadoop插件的资源间的依赖超出了这一目标。导致我们在使用ant编译的时候需要手工去修改配置。那么自然少不了设置环境变量、设置classpath、添加依赖、设置主函数、javac、jar清单文件编写、验证、部署等步骤。
星哥玩云
2022/06/29
4710
编译Hadoop 1.2.1 Hadoop-eclipse-plugin插件
Maven - 打包之争:Jar vs. Shade vs. Assembly
Maven 提供了多种打包方式,其中常见的包括三种:jar、shade、assembly。下面是它们的详细比较:
小小工匠
2023/11/25
1.9K0
Maven - 打包之争:Jar vs. Shade vs. Assembly
Ant and Flex 用Ant编译MXML文件 - 蚂蚁咬断松紧带(^_^)
http://iamin.blogdriver.com/iamin/1173623.html
阿敏总司令
2019/02/28
7780
Ant简介
-classpath: 设置用户类路径,它将覆盖CLASSPATH 环境变量中的用户类路径。若既未指定CLASSPATH 又未指定-classpath,则用户类路径由当前目录构成。 -sourcepath: 指定用以查找类或接口定义的源代码路径。与用户类路径一样,源路径项用分号 (;)进行分隔,它们可以是目录、JAR 归档文件或 ZIP 归档文件。如果使用包,那么目录或归档文件中的本地路径名必须反映包名。
acc8226
2022/05/17
1.1K0
Ant简介
Ant + Jenkies +Tomcat 自动构建部署Web项目
前言:博主资历尚浅,很多东西都还在刚起步学习的阶段,这几天开发任务比较轻,就在自己window系统下,模拟部署远程服务器,利用Jenkies + Ant + Tomcat 搭建了一个自动发布部署的环境,特分享给大家。如果有哪些说的不对的地方,还请大家不吝赐教。 1、工具版本 Ant:apache-ant-1.9.1 Jenkies:jenkins-2.46.3 Tomcat:apache-tomcat-8.0.43 系统:window7 开发工具:IDEA 2、Web项目     简述:这里只是在本地简单的
JMCui
2018/03/15
1.3K0
Ant + Jenkies +Tomcat 自动构建部署Web项目
相关推荐
web项目ant打包完整案例
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验