Project属性
1 一个Project能够通过<property>元素定义一系列属性
2 使用${property-name}符号引用属性值
在Ant build文件中定义属性的示例:
<property name="sourceDir" value="source"/>
<property eviroment="env"/>
引用已定义的属性示例:
<javac srcdir="${sourceDir}" destdir="classes"/>
<java classname="test.MyTester">
<classpath path="${env.CLASSPATH}"/>
</java>
ant会自动查找名为build.xml的编译文件,也可以指定编译文件
ant -buildfile mybuild.xml
一个ant build文件的示例:
<?xml version="1.0" encoding="UTF-8"?>
<project name="Test Project" default="run" basedir=".">
<property name="sourceDir" value="source"/>
<target name="compile">
<javac srcdir="${sourceDir}" destdir="classes"/>
</target>
<target name="run" depends="compile">
<java classname="test.MyTester">
<classpath>
<pathelement path="classes"/>
</classpath>
</java>
</target>
</project>
ant Targets
1 无论有多少个target依赖于一个target,该target都只执行一次。
2 Target可以像命令行参数一样明确地指定。
3 与target相关的任务依照它们定义的次序执行。
示例:使用命令行参数方式传递target
ant.bat [option] compile run
内置任务
1 基本的ant工具由很多内置的任务完成
2 一些常用的核心任务:
<javac>,<java>,<jar>,<war>,<ear>,<copy>,<delete>,<mkdir>,<move>,<tstamp>,<touch>,<javadoc>
使用命令行参数
<arg>元素向被执行的java类提供命令参数
<jvmarg>元素向虚拟机提供命令行参数
向Java类与虚拟机传递命令行的示例:
<java classname="test.Test" fork="yes">
<arg value="-help>
<jvmarg value="-Xml16m"/>
</java>
编译Java应用
任务javac编译java源代码,只编译源文件比.class文件新的源代码
.class文件被移动到指定的目的目录
使用javac任务的示例:
<javac srcdir="myproject/mysource" destdir="classes"/>
<javac srcdir="myproject/mysource" destdir="myproject/classes" excludes="mypackage/**"
classpath="mylibrary.jar"/>
excludes 表示不包含的路径,"**"表示指定目录下的所有子目录与文件,"*"表示指定目录下的文件
执行java应用
Java任务执行指定的Java .class文件
该class可以在一个新虚拟机,也可以在与ant所运行的同一虚拟机中执行。
使用java任务的示例:
<java classname="text.MyTest"/>
<java classname="test.MyTester" classpath="tester.jar" fork="yes"/>
<java classname="test.MyTester">
<classpath>
<pathelement path="myproject/classes"/>
<pathelement location="MyLibrary.jar"/>
</classpath>
</java>
定义系统属性
使用<sysproperty>元素定义Java类所需的系统属性
当Java类执行时,虚拟机可以使用这些属性
<java classname="weblogic.Server" fork="yes">
<sysproperty key="weblogic.management.discover" value="false"/>
</java>
创建Java Archive文件
任务jar可以归档一系列文件
归档的结果是:
能够更新现有文件或替换它们
可以选择为压缩或不压缩
创建Java归档的示例:
<jar jarfile="myArchive.jar" basedir="myproject/root"/>
<jar jarfile="myArchive.jar" basedir="myproject/root" excludes="*.html"
update="false" compress="true"/>
创建Web Archive文件
任务war以正确的J2EE Web应用格式将一系列文件进行归档。
属性webxml定义了可以作为部署描述文件web.xml的文件
使用<classes>和<lib>元素定义应用的class文件
示例:
<war warfile="myWebApp.war" basedir="myproject/root"
webxml="myproject/myWebApp.xml>
<lib dir="myproject/libraries"/>
<classes dir="myproject/classes" />
</war>
创建企业Archive文件
任务ear以正确的J2EE企业应用格式将一系列文件进行归档
属性appxml定义可作为部署描述文件的application.xml的文件
示例:
<ear earfile="myapp.ear" basedir="myproject/root"
appxml="myproject/myApp.xml" include="*.jar,*.war"/>
操作文件系统
ant有一些内置任务可用于操作文件系统如拷贝和删除文件和目录等
示例:
<copy file="myWeb.xml" tofile="root/WEB-INF/web.xml">
<copy file="web.xml" todir="root/WEB-INF" overwrite="yes"/>
<delte file="MyFile.txt"/>
<delete dir="myproject/temp"/>
概览:FileSets和PatternSets
<patternset>元素定义一个符合条件的资源集合。
<fileset>元素定义一个相对于基本目录的资源集合
<patternset>和<fileSet>元素的语法:
<patternset id ="javaFiles">
<include name="**/*.java"/>
</patternset>
<fileset dir="myproject/source">
<patternset refid="javaFiles"/> /*引用前面的定义*/
示例:
/*从一个或多个<fileset>元素中创建JAR文件*/
<jar jarfile="MyLibrary.jar">
<fileset dir="myproject/classes"/>
<fileset dir="myproject/bin" />
</jar>
/*在当前目录中使用先前定义的<patternset>元素删除所有的类文件*/
<delete>
<fileset dir=".">
<patternset refid="classonly"/>
</fileset>
</delete>
/*拷贝所有文件,不包括所有的java源文件*/
<copy todir="../applicatioon">
<fileset dir="myproject/root"/>
<patternset>
<exclude name="**/*.java"/>
</patternset>
</fileset>
</copy>
执行其它的Build文件
任务ant执行其它的build文件
默认情况下,将继承调用Project的所有属性
如果没有指定文件,ant将使用在当前目录中的build.xml文件
示例:
<ant antfile="mysubproject/mybuild.xml"/>
<ant dir="myprojects/mysubproject"/>
<ant antfile="buildEJB.xml>
<property name="deployFile" value="testEJB.jar"/>
</ant>
web应用Build文件示例:
<project name="My Web Application default="deploy" basedir=" . ">
<property name="wlhome" value="c:\bea\weblogic81"/>
<property name="domain" value="mydomain"/>
<target name="compile">
<mkdir dir="classes"/>
<javac srcdir="javasource" destdir="classes"/>
</target>
<target name="layout" depends="compile">
<mkdir dir="temp/WEB-INF/classes"/>
<copy todir="temp/WEB-INF/classes">
<fileset dir="classes"/>
</copy>
<copy todir="webroot"/>
<fileset dir="webroot"/>
</copy>
<copy file="web.xml" todir="temp/WEB-INF"/>
<copy file="weblogic.xml" todir="temp/WEB-INF"/>
</target>
/*从临时文件夹中创建WAR文件,清除所有临时文件*/
<target name="archive" depends="layout">
<jar jarfile="mysite.war" basedir="temp"/>
<delete dir="classes"/>
<delete dir="temp"/>
</target>
/*将WAR文件部署到WLS域中*/
<target name="deploy" depends="archive">
<copy file="mysite.war" todir="${wlhome}\config\${domain}\application"/>
</target>
</project>
分享到:
相关推荐
1. **Ant简介** - Ant是一个基于Java的构建工具,其设计目标是简化Java项目的构建过程,通过XML描述构建文件,使得构建过程可配置且可跨平台。 - 它的核心思想是“任务驱动”,将构建过程分解为一系列的任务,如...
主要介绍了ant的使用方法。
主要介绍了ant的使用方法。
#### 一、Ant简介 1. **什么是Ant** - Ant是一款用于自动化构建过程的软件工具,最初由Apache Software Foundation开发。它主要用于编译、测试和部署Java应用程序,支持跨平台使用,因为它是用Java编写的。 2. **...
主要介绍了ant的使用方法。
### 一、Ant简介 Ant是一个基于XML的构建工具,它的主要任务是读取名为`build.xml`的配置文件,根据其中的指令执行相应的构建操作。Ant的核心理念是“一切都是任务”,它通过预定义的任务和用户自定义的任务来完成...
主要介绍了ant的使用方法。
Ant是Apache软件基金会下的一个Java构建工具,它以其XML格式的构建文件闻名,用于自动化Java项目的构建、编译、...这个“ant简介及实例pdf”文档将为你提供一个良好的起点,帮助你在实践中逐步熟悉和掌握Ant的使用。
一、Ant简介 Ant的设计理念是“简单就是美”。在Java开发中,当项目变得复杂时,手动管理编译、测试和部署等过程会变得繁琐,Ant则能有效解决这个问题。它通过构建文件来驱动构建过程,使得构建任务可重复且易于维护...
1. **Ant简介** - Ant是一个基于Java的构建工具,它简化了软件项目的构建过程,特别是Java项目。 - 它的核心概念是任务(Task),这些任务是由Ant提供的或者由用户自定义的,用于执行各种构建操作,如编译、复制、...
Ant是Java开发中的一款自动化构建工具,类似于...开发者可以根据项目需求自定义Task,或者使用社区提供的众多预定义Task,以实现复杂的构建逻辑。通过合理地配置和利用Ant,可以大大提高Java项目的构建效率和一致性。
#### 一、Ant简介 Apache Ant 是一个 Java 环境下的开源构建工具,它通过一系列预定义的任务来驱动构建过程,支持跨平台运行。Ant 以 XML 文件的形式来配置构建过程,使得构建脚本具有良好的可读性和扩展性。 ####...
- 配置JaCoCo任务:在Ant中集成JaCoCo,需要使用JaCoCo的ant任务,包括`<jacoco:coverage>`和`<jacoco:report>`。前者用于收集覆盖率数据,后者用于生成报告。 - 运行测试并收集覆盖率:在JUnit任务中嵌套JaCoCo的...
### ant使用帮助文档 #### 知识点概览 1. **Ant的简介与功能** 2. **安装Ant的基本步骤** 3. **配置环境变量的方法** 4. **验证Ant是否安装成功** 5. **配置数据库链接信息** 6. **创建数据库表及与Ant项目的关联*...
### Ant简介 #### 一、Ant概述 Ant是一款开源的Java构建工具,它主要用于构建Java应用程序,同时也支持其他类型的项目构建。与传统的构建工具(如make、gnumake和nmake)相比,Ant的设计更加现代化且具备良好的跨...