专栏首页业余草ant命令征集详解

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

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

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

    在日常的项目开发中,我们可以经常性的需要打包测试,尤其是开发环境是windows,而实际环境则是linux。 这样的话,很...

    业余草
  • Spring Boot + Flyway 实现数据库版本管理神器

    Flyway 是一款开源的数据库版本管理工具,它更倾向于规约优于配置的方式。Flyway 可以独立于应用实现管理并跟踪数据库变更,支持数据库版本自动升级,并且有...

    业余草
  • 常见算法的时间复杂度 Ο(1)<Ο(log2n)<Ο(n)<Ο(nlog2n)<Ο(n2)<Ο(n3)<…

    说实话,我是真的不懂算法。但是,我知道一个算法的好坏,通常时间复杂度是一个评价的指标之一。

    业余草
  • 如何用ant将JSP项目打成war包

    首先执行ant build, 在build.dir即WebContent\WEB-INF\classes文件夹下生成对应的.class文件:

    Jerry Wang
  • 如何用ant给Java项目生成文档

    Jerry Wang
  • 从测试到测试开发-给还在迷茫的你一点建议

    首先感谢我的群友、同学在生活和学习这条路上给予的帮助和建议,然后感谢我的老师给予这次机会把我放在平台上,最后要感谢我的领导让我在⼀个相对较大的平台去接受新的挑战...

    无涯WuYa
  • 通过 Apache Ant 来运行 Tomcat

    Tomcat安装目录下的lib文件夹里的catalina-ant.jar 提供了下述的任务:

    Jerry Wang
  • SAP成都研究院郑晓霞:Shift Left Testing和软件质量保证的一些思考

    今天的文章来自Jerry的同事,曾经的搭档郑晓霞(Zheng Kate)。郑晓霞是在Jerry心中是一位很有实力的程序媛,2011年从西安某软件公司跳槽到SAP...

    Jerry Wang
  • SAP成都研究院郑晓霞:Shift Left Testing和软件质量保证的一些思考

    今天的文章来自Jerry的同事,曾经的搭档郑晓霞(Zheng Kate)。郑晓霞是在Jerry心中是一位很有实力的程序媛,2011年从西安某软件公司跳槽到SAP...

    Jerry Wang
  • 电力系统无人值守变电站如何通过流媒体服务器实现随时随地监控

    在项目对接过程中,我经常会遇到各种各样的应用场景,野外、景区、园区、车载等,每种场景因其自身项目的特性适用产品不同。今天为大家分享一个流媒体服务器在电力行业应用...

    EasyNVR

扫码关注云+社区

领取腾讯云代金券