Java Ant一例

<?xml version="1.0"?>
<!--全局变量-->
<project basedir="." name="ec_mm_new" default="dev">
	<property name="src.dir" value="${basedir}" />
	<property name="build.dir" value="${basedir}/build" />
	<property name="lib.dir" value="${basedir}/WebRoot/WEB-INF/lib" />
	<property name="config.dir" value="${basedir}/conf" />
	<property name="log.file" value="log4j.properties" />
	<property name="config.file" value="application.properties" />
	<property name="auth.file" value="filter.properties" />
	<property name="hibernate.file" value="hibernate.cfg.xml" />


	<path id="classpath">
		<fileset dir="${basedir}/WebRoot/WEB-INF/lib">
			<include name="**/*.jar" />
		</fileset>
	</path>
	<!—每一个独立的打包,传入自己的变量 -->
	<target name="dev" description="Build the dev version for deployment">
		<property name="resourceFile" value="application.dev.properties" />
		<property name="authFile" value="filter.dev.properties" />
		<property name="cfgHibernate" value="hibernate.dev.cfg.xml" />
		<property name="logFile" value="log4j.dev.properties" />
		<property name="dist.dir" value="D:\myTomcat\webapps" />
		<antcall target="webapp" />
		<antcall target="post_build" />
	</target>
	<target name="qa" description="Build the test version for deployment">
			<property name="resourceFile" value="application.qa.properties" />
			<property name="authFile" value="filter.qa.properties" />
			<property name="cfgHibernate" value="hibernate.qa.cfg.xml" />
			<property name="logFile" value="log4j.qa.properties" />
			<property name="dist.dir" value="${basedir}/dist" />
			<antcall target="webapp" />
			<antcall target="post_build" />
		</target>
	<target name="prod" description="Build the prod version for deployment">
		<property name="resourceFile" value="application.prod.properties" />
		<property name="authFile" value="filter.prod.properties" />
		<property name="cfgHibernate" value="hibernate.prod.cfg.xml" />
		<property name="logFile" value="log4j.prod.properties" />
		<property name="dist.dir" value="${basedir}/dist" />
		<antcall target="webapp" />
		<antcall target="post_build" />
	</target>

	<target name="init">
		<mkdir dir="${build.dir}" />
		<mkdir dir="${build.dir}/jsp" />
		<mkdir dir="${build.dir}/WEB-INF" />
		<mkdir dir="${build.dir}/WEB-INF/classes" />
		<mkdir dir="${build.dir}/WEB-INF/lib" />
	</target>
	<!—编译-->
	<target name="web.compile">
		<javac srcdir="${src.dir}" destdir="${build.dir}/WEB-INF/classes" 
encoding="GBK" includeantruntime="on">
			<include name="**/*.java"/>
			<classpath refid="classpath"/>
		</javac>
	</target>

	<!—打包,先复制文件到build-->
	<target name="webapp" depends="clean, init, web.compile">
		<copy file="${config.dir}/${resourceFile}" 
tofile="${build.dir}/WEB-INF/classes/${config.file}" overwrite="true" />
		<copy file="${config.dir}/${authFile}" 
tofile="${build.dir}/WEB-INF/classes/${auth.file}" overwrite="true" />
		<copy file="${config.dir}/${logFile}" 
tofile="${build.dir}/WEB-INF/classes/${log.file}" overwrite="true" />
		<copy file="${config.dir}/${cfgHibernate}" 
tofile="${build.dir}/WEB-INF/classes/${hibernate.file}" overwrite="true" />
		<copy todir="${build.dir}/WEB-INF/classes" overwrite="true">
			<fileset dir="${basedir}/src/">
				<include name="*.xml"/>
			</fileset>
		</copy>
		<copy todir="${build.dir}" overwrite="true">
			<fileset dir="${basedir}/WebRoot">
				<exclude name="javaee.jar"/>
				<exclude name="jsf-api.jar"/>
				<exclude name="jsf-impl.jar"/>
				<exclude name="jstl-1.2.jar"/>
				<exclude name="WEB-INF/classes/**/*.*"/>
			</fileset>
		</copy>
		<!—打包,把build下所有内容打成war包-->
		<jar destfile="${dist.dir}/${ant.project.name}.war" basedir="${build.dir}" />

	</target>

	<target name="post_build">
		<delete dir="${build.dir}" />
	</target>

	<target name="clean">
		<delete dir="${build.dir}" />
		<delete file="${dist.dir}/${ant.project.name}.war" />
		<delete dir="${dist.dir}/${ant.project.name}" />
	</target>
</project>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值