西西软件下载最安全的下载网站、值得信赖的软件下载站!

首页编程开发java → Java工程自动化构建、部署工具Ant使用教程

Java工程自动化构建、部署工具Ant使用教程

前往专题相关软件相关文章发表评论 来源:西西整理时间:2012/11/30 10:10:43字体大小:A-A+

作者:西西点击:0次评论:0次标签: 部署

  • 类型:编程辅助大小:134KB语言:中文 评分:3.3
  • 标签:
立即下载
2 页 常用task

5.常用task

使用classpath

<target>
<javac>
<classpath refid="project.class.path"/>
</javac>
</target>

设置classpath

<classpath id="project.class.path">
<pathelement path="${classpath}"/>
<fileset dir="lib">
<include name="**/*.jar"/>
</fileset>
<pathelement location="classes"/>
<dirset dir="build">
<include name="apps/**/classes"/>
<exclude name="apps/**/*Test*"/>
</dirset>
<filelist refid="third-party_jars"/>
</classpath>

输出信息

<echo message="XXX"/><echo>XXX</echo>

引入一个XML文件

<import file="../common-targets.xml"/>

拷贝文件

<copy file="myfile.txt" tofile="mycopy.txt"/>
<copy file="myfile.txt" todir="../otherdir"/>
<copy todir="..//newdir">
<fileset dir="src_dir"/>
</copy>
<copy todir="../destdir">
<fileset dir="src_dir">
<exclude name="**/*.java"/>
</fileset>
</copy>
<copy todir="../destdir">
<fileset dir="src_dir" excludes="**/*.java"/>
</copy>
<!--拷贝一个文件集合到一个目录,同时建立备份文件-->
<copy todir="../backup/dir">
<fileset dir="src_dir"/>
<globmapper from="*" to="*bak"/>
</copy>
<!--拷贝一个集合的文件到指定目录,并替换掉TITLE-->
<copy todir="../backup/dir">
<fileset dir="src_dir"/>
<filterset>
<filter token="TITLE" value="Foo Bar"/>
</filterset>
</copy>
<copydir src="${src}/resources" dest="${dest}" includes="**/*.java" excludes="**/Test.java"/>
<copyfile src="test.java" dest="subdir/test.java"/>

删除文件、目录

<delete file="/lib/ant.jar"/>
<delete dir="/lib"/>
<delete>
<fileset dir="." includes="**/*.bak"/>
</delete>
<!--删除当前目录下所有的文件和目录,包括当前目录-->
<delete includeEmptyDirs="true">
<fileset dir="build"/>
</delete>
<!--删除当前目录下所有的文件和目录,不包括当前目录-->
<delete includeEmptyDirs="true">
<fileset dir="build" includes="**/*"/>
</delete>
<!--删除当前目录下所有的svn相关文件(因为SVN文件默认是excludes的,所以这里说明一下)-->
<delete defaultExcludes="false">
<fileset dir="${src}" includes="**/*.svn"/>
</delete>
<!--删除文件目录树-->
<deltree dir="dist"/>

剪切文件

<move todir="some/new/dir"> <fileset dir="my/src/dir"> <include name="**/*.jar"/> <exclude name="**/ant.jar"/> </fileset></move>

重命名

<rename src="foo.jar" dest="ant-${version}.jar"/>

建立临时文件

<!--在目录build下,建立文件名为temp.file,后缀名为xml的文件--><tempfile property="temp.file" destDir="build" suffix=".xml"/>

Touch使用

<!--如果文件不存在,创建文件,如果存在,更改最后访问时间为当前系统时间--><touch file="myfile"/><!--如果文件不存在,创建文件,更改最后访问时间--><touch file="myfile" datetime="06/28/2000 2:02 pm"/><!--更改目录下所有文件的最后访问时间--><touch datetime="09/10/1974 4:30 pm"> <fileset dir="src_dir"/></touch>

Condition的使用 <and> <or> <not>等tag

peoperty: The name of the property to set

value: The value to set the property to.

else: The value to set the property to if the codition evaluates to false.

<condition property="isMacOsButNotMacOsX"> <and> <os family="mac"> <not> <os family="unix"> </not> </and></condition>

替换

<replace
file="configure.sh"
value="defaultvalue"
propertyFile="src/name.properties">
<replacefilter
token="@token1@"/>
<replacefilter
token="@token2@"
value="value2"/>
<replacefilter
token="@token3@"
property="property.key"/>
<replacefilter>
<replacetoken>@token4@</replacetoken>
<replacevalue>value4</replacevalue>
</replacefilter>
</replace>

 调用chmod

<chmod perm="go-rwx" type="file">
<fileset dir="/web">
<include name="**/*.cgi"/>
<include name="**/*.old"/>
</fileset>
<dirset dir="/web">
<include name="**/private_*"/>
</dirset>
</chmod>

设置property

<!--设置属性name-value--><property name="foo.dist" value="dist"/><!--读取属性文件中的属性配置--><property file="foo.properties"/><!--读取网络中的property-set--><property url="http://www.mysite/props/foo.properties"/><!--读取文件中的属性配置--><property resource="foo.properties"/><!--读取环境变量--><property environment="env"/>

 显示错误信息

Fail task 退出当前构建,抛出BuildException,打印错误信息。

message:A message giving further information on why the build exited

if:Only fail if a property of the given name exists in the current project

unless:Only fail if a property of the given name doesn't exist in the current project

status:Exit using the specified status code; assuming the generated Exception is not caught, the JVM will exit with this status.Since Apache Ant 1.6.2

<fail>Something wrong here.</fail><fail message="${属性}"/><!--如果这个属性不存在,显示错误--><fail unless="failCondition" message="unless Condition"/><!--如果这个属性存在,显示错误--><fail if="failCondition" message="if Condition"/><!--如果符合条件,显示错误--><fial message="tag condition"> <condition> <not> <isset property="failCondition"/> </not> </condition></fail>

创建目录

<mkdir dir="${dist}/lib"/>

打jar包

<jar destfile="${dist}/lib/app.jar" basedir="${build}/classes"/><jar destfile="${build}/lib/app.jar" basedir="${build}/classes" includes="mypackage/test/**" excludes="**/Test.class"/>

打ear包

<ear destfile="build/myapp.ear" appxml="src/metadata/application.xml"> <fileset dir="build" includes="*.jar,*war"/></ear>

执行程序

<target name="help"> <exec executable="cmd"> <arg value="/c"> <arg value="ant.bat"/> <arg value="-p"/> </exec></target>

运行jar包

<java classname="test.Main" dir="${exec.dir}" jar="${exec.dir}/dist/test.jar" fork="true" failonerror="true" maxmemory="128m"> <arg value="-h"/> <classpath> <pathelement location="dist/test.jar"/> <pathelement path="/Users/antoine/dev/asf/ant-core/bootstrap/lib/ant-launcher.jar"/> </classpath></java>

  编译程序

<javac srcdir="${src}" destdit="${build}" classpath="xyz.jar" debug="on" source="1.4"/>

Length使用

<!--把字符串foo的长度保存到属性length.foo中--><length string="foo" property="length.foo"/><!--把文件bar的长度保存到属性length.bar--><length file="bar" property="length.bar"/>

输入input

输入值保存在db.user中

<input message="Please enter db-username:" addproperty="db.user" defaultvalue="Scott-Tiger"/>

压缩、解压缩

<!--解压缩zip文件--><unzip src="apache-ant-bin.zip" dest="${tools.home}"> <patternset> <include name="apache-ant/lib/ant.jar"/> </patternset> <mapper type="flatten"/></unzip><!--压缩zip文件--><zip destfile="${dist}/manual.zip" basedir="htdoc/manual" includes="api/**/*.html" excludes="**/todo.html"/><!--打tar包--><tar destfile="/Users/antoine/dev/asf/ant-core/docs.tar"> <tarfileset dir="${dir.src}/doc" fullpath="/usr/doc/ant/README" preserveLeadingSlashes="true"> <include name="readme.txt"/> <tarfileset> <tarfileset dir="${dir.src}/docs" prefix="/usr/doc/ant" preserveLeadingSlashes="true"> <include name="*.html"/> </tarfileset></tar><!--解压tar包--><untar src="tools.tar" dest="${tools.home}"/>

打war包

<war destfile="myapp.war" webxml="src/metadata/myapp.xml"> <fileset dir="src/html/myapp"/> <fileset dir="src/jsp/myapp"/> <lib dir="thirdparty/libs"> <exclude name="jdbc1.jar"> </lib> <classes dir="build/main"/> <zipfileset dir="src/graphics/images/gifs" prefix="images"/></war>

本文导航

    相关评论

    阅读本文后您有什么感想? 已有人给出评价!

    • 8 喜欢喜欢
    • 3 顶
    • 1 难过难过
    • 5 囧
    • 3 围观围观
    • 2 无聊无聊

    热门评论

    最新评论

    发表评论 查看所有评论(0)

    昵称:
    表情: 高兴 可 汗 我不要 害羞 好 下下下 送花 屎 亲亲
    字数: 0/500 (您的评论需要经过审核才能显示)
    推荐文章

    没有数据