ANT,强大的插件(摘)

以前使用过ant,但是使用的范围仅仅是代码重用,也就是ant中的copy功能。

但是据我所知,ant有着非常强大的功能,比如自动打包、部署等(说到自动化,高效的项目都需要注重自动化,包括数据表自动生成类文件、自动打包部署等,顺便提醒自己一下,maven的作用不仅仅只是项目管理,实现自动化也有他自己的亮点,比如自动部署)。

记录一下以前使用的简易代码重用。

<?xml version="1.0" encoding="UTF-8"?>
<project name="szAirlines-dev" basedir="." default="copy-to-front">
	<target name="copy-to-front" description="复制可重用文件到前台">
		<property file="./dev.properties" />
		<property name="dir.source" location="${dir.sync.source}"/>
		<property name="dir.dest" location="${dir.sync.dest}"/>
		<echo level="info" message="copying resources from ${dir.source} to ${dir.dest} ..." />
		<!--copy classes-->
		<copy todir="${dir.dest}" preservelastmodified="true">
			<fileset dir="${dir.source}">
				<include name="**/*.java" />
				<exclude name="**/dao/**/*.java" />
				<exclude name="**/handle/**/*.java" />
				<exclude name="**/service/impl/*.java" />
				
				<!--<include name="**/*.class" />
				<exclude name="**/dao/**/*.class" />
				<exclude name="**/service/impl/*.class" />-->
			</fileset>
		</copy>
	</target>
	
	<target name="copy-to-interface" description="复制可重用文件到接口项目">
			<property file="./dev.properties" />
			<property name="dir.source" location="${dir.sync.source}"/>
			<property name="dir.dest" location="${dir.sync.interdest}"/>
			<echo level="info" message="copying resources from ${dir.source} to ${dir.dest} ..." />
			<!--copy classes-->
			<copy todir="${dir.dest}" preservelastmodified="true">
				<fileset dir="${dir.source}">
					<include name="**/*.*" />
				</fileset>
			</copy>
		</target>
	
	<target name="copy-to-otaServer" description="复制可重用文件到电商通项目">
			<property file="./dev.properties" />
			<property name="dir.source" location="${dir.sync.source}"/>
			<property name="dir.dest" location="${dir.sync.otadest}"/>
			<echo level="info" message="copying resources from ${dir.source} to ${dir.dest} ..." />
			<!--copy classes-->
			<copy todir="${dir.dest}" preservelastmodified="true">
				<fileset dir="${dir.source}">
					<include name="**/policy/**/*.*" />
					<include name="**/baseinfo/**/*.*" />
				</fileset>
			</copy>
		</target>
</project>

配置参数:

#项目的路径设置,注意,只有这里需要设置相对路径,其他路径的相对路径都是相对webapp的根的
szAirlinesSystem.name=szAirlinesSystem
szAirlinesWebSystem.name=szAirlinesWebSystem
szAirlinesInterfaces.name=szAirlinesInterfaces
otaServer.name=otaServer
szAirlinesSystem.path=../../../../../${szAirlinesSystem.name}
szAirlinesWebSystem.path=../../../../../${szAirlinesWebSystem.name}
szAirlinesInterfaces.path=../../../../../${szAirlinesInterfaces.name}
otaServer.path=../../../../../${otaServer.name}

dir.sync.source=${szAirlinesSystem.path}/src/main/java
dir.sync.dest=${szAirlinesWebSystem.path}/src/main/java
dir.sync.interdest=${szAirlinesInterfaces.path}/src/main/java
dir.sync.otadest=${otaServer.path}/src/main/java



ant通过target 的copy命令达到目标复制的目的。这种做法可以应用到一些分布部署的项目中,比如某个电商项目把前端页面跟后台逻辑解耦分布,如果没有应用到hessian这种技术,前端系统他依然需要载入相关class,这样就可以利用ant-copy脚本使得在后台编写的代码可以重用到前端系统项目中。


以下是一些比较好的文章推荐:

1.使用ant自动打包、部署项目:http://www.cnblogs.com/hoojo/p/ant_increment_svn_diff_diffSummarize.html

2.IBM对ant的教程:http://www.ibm.com/developerworks/cn/java/j-lo-antstructure/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值