ant命令征集详解

ANT指令build.xml命令集

1.ANT示例1.0(将指定路径下的文件复制到指定的其他位置)

<?xml version="1.0" encoding="UTF-8" ?>
<project name="antTest" default="compile" basedir=".">
    <target name="clean">
        <delete dir="build" />
    </target>
    <target name="compile" depends="clean">
        <mkdir dir="build/classes" />
        <javac srcdir="src" destdir="build/classes" />
    </target>
</project>

2.ANT示例1.1(编译、运行项目antTest)

<project default="copyfile" basedir="." >
  <target name="copyfile">
		<copy file="d:/a.txt" todir="e:/Temp" overwrite="true" />
	</target>
</project>

3. ANT示例1.2(编译、运行项目antTest)

<?xml version="1.0" encoding="UTF-8" ?>
<project name="antTest" default="run" basedir=".">
	<property name="src" value="src" />
	<property name="dest" value="classes" />
	<property name="hello_jar" value="hello1.jar" />
	<target name="init">
		<mkdir dir="${dest}" />
	</target>
	<target name="compile" depends="init">
		<javac srcdir="${src}" destdir="${dest}" />
	</target>
	<target name="build" depends="compile">
		<jar jarfile="${hello_jar}" basedir="${dest}" />
	</target>
	<target name="run" depends="build">
		<java classname="test.ant.HelloWorld" classpath="${hello_jar}" />
	</target>
	<target name="clean">
		<delete dir="${dest}" />
		<delete file="${hello_jar}" />
	</target>
	<target name="rerun" depends="clean,run">
		<ant target="clean" />
		<ant target="run" />
	</target>
</project>

4. ANT示例1.3(编译、运行项目antTest)

<?xml version="1.0" encoding="UTF-8" ?>
<project name="antTest" default="war" basedir=".">
	<property name="classes" value="build/classes" />
	<property name="build" value="build" />
	<property name="lib" value="WebRoot/WEB-INF/lib" />
	<!-- 删除build路径-->
	<target name="clean">
		<delete dir="build" />
	</target>

	<!-- 建立build/classes路径,并编译class文件到build/classes路径下-->
	<target name="compile" depends="clean">
		<mkdir dir="${classes}" />
		<javac srcdir="src" destdir="${classes}" includeantruntime="on" />
	</target>

	<!-- 打war包-->
	<target name="war" depends="compile">
		<war destfile="${build}/antTest.war" webxml="WebRoot/WEB-INF/web.xml">
			<!-- 拷贝WebRoot下除了WEB-INF和META-INF的两个文件夹-->
			<fileset dir="WebRoot" includes="**/*.jsp" />

			<!-- 拷贝lib目录下的jar包-->
			<lib dir="${lib}" />
			<!-- 拷贝build/classes下的class文件-->
			<classes dir="${classes}"/>
		</war>
	</target>
</project>

5. ANT示例1.4(编译、运行项目antTest)

<?xml version="1.0" encoding="UTF-8" ?>
<project name="antTest" default="run" basedir=".">
	<property name="src" value="src" />
	<property name="dest" value="classes" />
	<property name="hello_jar" value="hello1.jar" />
	<target name="init">
		<mkdir dir="${dest}" />
	</target>
	<target name="compile" depends="init">
		<javac srcdir="${src}" destdir="${dest}" />
	</target>
	<target name="build" depends="compile">
		<jar jarfile="${hello_jar}" basedir="${dest}" />
	</target>
	<target name="run" depends="build">
		<java classname="test.ant.HelloWorld" classpath="${hello_jar}" />
	</target>
	<target name="clean">
		<delete dir="${dest}" />
		<delete file="${hello_jar}" />
	</target>
	<target name="rerun" depends="clean,run">
		<ant target="clean" />
		<ant target="run" />
	</target>
</project>

6. ANT示例1.5(编译、运行项目)复杂的配置

<?xml version="1.0" encoding="UTF-8"?>

<project name="antTest" basedir="." default="pack.web">
	<property name="build.debug" value="on" />
	<property name="build.debug.level" value="lines,vars,source" />
	<property name="compile.deprecation" value="false" />
	<property name="compile.optimize" value="true" />
	<property name="source.excludes" value="applicationContext.xml, jdbc.properties " />
	<property name="portal.opensource.excludes" value="wlclient.jar,servlet-api.jar,j2ee.jar" />
	<property name="lib.dev.excludes" value="a.jar" />
	<property name="source.dao.dir" value="${basedir}/../dao" />
	<property name="source.mgr.dir" value="${basedir}/../mgr" />
	<property name="source.portal.dir" value="${basedir}/../web" />
	<property name="build.dir" value="c:/web" />
	<property name="lib.dir" value="${basedir}/../libIbssPub" />
	<property name="lib.dev.dir" value="${lib.dir}/dev" />
	<property name="lib.opensource.dir" value="${lib.dir}/opensource" />
	<property name="lib.weblogic.dir" value="${lib.dir}/weblogic" />
	<target name="clean">
		<delete dir="${build.dir}" />
		<mkdir dir="${build.dir}/mgr" />
		<mkdir dir="${build.dir}/dao" />
	</target>
	<path id="general.compile.classpath">
		<fileset dir="${lib.opensource.dir}" includes="**/*.jar" />
		<fileset dir="${lib.dev.dir}" includes="**/*.jar" />
		<fileset dir="${lib.weblogic.dir}" includes="**/*.jar" />
	</path>
	<target name="compile.mgr">
		<javac destdir="${build.dir}/mgr" encoding="GBK" debug="${build.debug}" debuglevel="${build.debug.level}" deprecation="${compile.deprecation}" optimize="${compile.optimize}">
			<src path="${source.mgr.dir}/src" />
			<classpath refid="general.compile.classpath" />
			<classpath>
				<fileset file="${build.dir}/dao.jar" />
			</classpath>
		</javac>
		<copy todir="${build.dir}/mgr">
			<fileset dir="${source.mgr.dir}/src" excludes="**/*.java,  **/*.class, log4j.properties, ${source.excludes}" />
		</copy>
	</target>
	<target name="compile.dao">
		<javac srcdir="${source.dao.dir}/src" destdir="${build.dir}/dao" encoding="GBK" debug="${build.debug}" debuglevel="${build.debug.level}" deprecation="${compile.deprecation}" optimize="${compile.optimize}">
			<classpath refid="general.compile.classpath" />
		</javac>
		<copy todir="${build.dir}/dao" overwrite="true">
			<fileset dir="${source.dao.dir}/src" excludes="**/*.java, **/*.class, log4j.properties, ${source.excludes}" />
		</copy>
	</target>
	<target name="pack.dao" depends="compile.dao">
		<delete file="${build.dir}/dao.jar" />
		<jar destfile="${build.dir}/dao.jar">
			<fileset dir="${build.dir}/dao" />
		</jar>
	</target>
	<target name="pack.mgr" depends="compile.mgr">
		<delete file="${build.dir}/mgr.jar" />
		<jar destfile="${build.dir}/mgr.jar">
			<fileset dir="${build.dir}/mgr" />
		</jar>
	</target>
	<target name="pack.portal">
		<war destfile="${build.dir}/web.war" webxml="${source.portal.dir}/WebRoot/WEB-INF/web.xml">
			<fileset dir="${source.portal.dir}/WebRoot" />
			<lib dir="${lib.dev.dir}" excludes="${lib.dev.excludes}" />
			<lib dir="${lib.opensource.dir}" excludes="${portal.opensource.excludes}" />
			<lib dir="${build.dir}" includes="*.jar" />
		</war>
	</target>
	<target name="pack.web" description="打包WEB">
		<echo file="${source.portal.dir}/src/jdbc.properties" append="false" message="jdbc.driverClassName=oracle.jdbc.driver.OracleDriver${line.separator}" />
		<echo file="${source.portal.dir}/src/jdbc.properties" append="true" message="jdbc.url=jdbc:oracle:thin:@127.0.0.1:1521:orcl${line.separator}" />
		<echo file="${source.portal.dir}/src/jdbc.properties" append="true" message="jdbc.username=web_dev${line.separator}" />
		<echo file="${source.portal.dir}/src/jdbc.properties" append="true" message="jdbc.password=devweb${line.separator}" />
		<echo file="${source.portal.dir}/src/jdbc.properties" append="true" message="datasource.name=jdbc/web${line.separator}" />
		<antcall target="clean" />
		<antcall target="pack.dao" />
		<antcall target="pack.mgr" />
		<delete dir="${build.dir}/mgr" />
		<delete dir="${build.dir}/dao" />
		<antcall target="pack.portal" />
		<exec executable="cmd.exe">
			<arg value="/c" />
			<arg value="start ${build.dir}" />
		</exec>
	</target>
	<property name="tomcat.home" value="D:/apache-tomcat-6.0.20" />
	<target name="deploy.tomcat" description="部署到tomcat">
		<copy todir="${tomcat.home}/webapps" overwrite="true">
			<fileset dir="${build.dir}" includes="web.war" />
		</copy>
	</target>
	<target name="tomcat.start">
		<java jar="${tomcat.home}/bin/bootstrap.jar" fork="true">
			<jvmarg value="-Dcatalina.home=${tomcat.home}" />
			<jvmarg value="-Dsys.run.environment=SPS" />
			<jvmarg value="-Xdebug" />
		</java>
	</target>
	<target name="tomcat.stop">
		<java jar="${tomcat.home}/bin/bootstrap.jar" fork="true">
			<jvmarg value="-Dcatalina.home=${tomcat.home}" />
			<arg line="stop" />
		</java>
	</target>
</project>

贴上图片:

ANT的命令到此结束。他们的依赖关系,大家细细琢磨。本人目前已经不使用ANT脚本很久了。目前使用的maven,maven比ANT好多了,具体好在哪里大家可以到网上搜一搜。等以后有时间了给大家贡献maven的讲解。请大家多多关注本人的博客!!

项目实例下载路径:HTTP://download.csdn.net/detail/xmt1139057136/7112943

相关文档下载路径:HTTP://download.csdn.net/download/xmt1139057136/7113051

时间: 2024-07-28 19:07:32

ant命令征集详解的相关文章

Linux 下 Make 命令实例详解

  Linux 下 Make 命令实例详解          Linux 下 make 命令是系统管理员和程序员用的最频繁的命令之一.管理员用它通过命令行来编译和安装很多开源的工具,程序员用它来管理他们大型复杂的项目编译问题.本文我们将用一些实例来讨论 make 命令背后的工作机制. Make 如何工作的 对于不知道背后机理的人来说,make 命令像命令行参数一样接收目标.这些目标通常存放在以 "Makefile" 来命名的特殊文件中,同时文件也包含与目标相对应的操作.更多信息,阅读关

10个实用的电脑运行命令功能详解

  10个实用的电脑运行命令功能详解 要使用命令操作,最基本的是先需要如何打开运行操作框,主要有2种方法: 1.最快捷方法:使用 Windows + R 组合快捷键,快速呼出命令操作窗口. 2.常用方法:点击桌面左下角的"开始"然后找到并点击打开→"运行". 使用方法,打开命令操作窗口后,只要输入输入命令,然后按回车键或点击"确定"即可允许命名,实现各种功能. 了解如何打开命名操作框之后,接下来就来分享一下实用的命令吧,使用命令可以实现很多功能,

深入理解JavaScript系列(34):设计模式之命令模式详解

 这篇文章主要介绍了深入理解JavaScript系列(34):设计模式之命令模式详解,命令模式(Command)的定义是:用于将一个请求封装成一个对象,从而使你可用不同的请求对客户进行参数化,对请求排队或者记录请求日志,以及执行可撤销的操作,需要的朋友可以参考下     介绍 命令模式(Command)的定义是:用于将一个请求封装成一个对象,从而使你可用不同的请求对客户进行参数化:对请求排队或者记录请求日志,以及执行可撤销的操作.也就是说改模式旨在将函数的调用.请求和操作封装成一个单一的对象,然

《Ansible权威指南》一2.4 Ansible系列命令用法详解与使用场景介绍

2.4 Ansible系列命令用法详解与使用场景介绍 如何获取Ansible的系列命令呢?在终端键入ansible后连续按两次Tab键,会补全所有以ansible字母开头的命令,这些命令均是Ansible系列命令.本节我们来逐一介绍Ansible的系列命令使用. ansible ansible-galaxy ansible-pull ansible-doc ansible-playbook ansible-vault ansible-console 2.4.1 ansible 命令ansible

《Ansible权威指南 》一Ansible命令用法详解

2.3 Ansible命令用法详解 Ansible命令行执行方式有Ad-Hoc.Ansible-playbook两种方式,Web化执行方式其官方提供了付费产品Tower(10台以内免费),个人的话可以基于其提供的API开发类似的Web化产品.关于命令行执行的两种方式Ad-Hoc和Ansible-playbooks.什么是Ad-Hoc及Ad-Hoc与Ansible-playbook的区别我们在第3章有详细介绍,这里不再赘述.需简要说明的是两者没有本质上的区别,Ad-Hoc主要用于临时命令的执行,A

《Ansible权威指南》一2.3 Ansible命令用法详解

2.3 Ansible命令用法详解 Ansible命令行执行方式有Ad-Hoc.Ansible-playbook两种方式,Web化执行方式其官方提供了付费产品Tower(10台以内免费),个人的话可以基于其提供的API开发类似的Web化产品.关于命令行执行的两种方式Ad-Hoc和Ansible-playbooks.什么是Ad-Hoc及Ad-Hoc与Ansible-playbook的区别我们在第3章有详细介绍,这里不再赘述.需简要说明的是两者没有本质上的区别,Ad-Hoc主要用于临时命令的执行,A

bat批处理 if 命令示例详解_DOS/BAT

if 命令示例详解 if,正如它E文中的意思,就是"如果"的意思,用来进行条件判断.翻译过来的意思就是:如果符合某一条件,便执行后面的命令. 主要用来判断,1.两个"字符串"是否相等:2.两个数值是大于.小于.等于,然后执行相应的命令. 当然还有特殊用法,如结合errorlevel:if errorlevel 1 echo error 或者结合defined(定义的意思):if defined test (echo It is defined) else echo 

Mysql导入导出工具Mysqldump和Source命令用法详解_Mysql

在PHP网站开发中,时常遇到Mysql数据库备份或数据库迁移工作,这时Mysql怎么导入导出数据库中的数据就非常关键,Mysql本身提供了命令行导出工具Mysqldump和Mysql Source导入命令进行SQL数据导入导出工作,通过Mysql命令行导出工具Mysqldump命令能够将Mysql数据导出为文本格式(txt)的SQL文件,通过Mysql Source命令能够将SQL文件导入Mysql数据库中,下面通过Mysql导入导出SQL实例详解Mysqldump和Source命令的用法. M

Linux 文件查找命令which 详解

某个文件不知道放在哪里了,通常可以使用下面的一些命令来查找: which  查看可执行文件的位置 whereis 查看文件的位置 locate   配合数据库查看文件位置 find   实际搜寻硬盘查询文件名称 附:Linux文件查找命令find详解   which 命令详解 which命令的作用是,在PATH变量指定的路径中,搜索某个系统命令的位置,并且返回第一个搜索结果.也就是说,使用which命令,就可以看到某个系统命令是否存在,以及执行的到底是哪一个位置的命令. 1.命令格式: whic