`
jamesfork
  • 浏览: 32777 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
最近访客 更多访客>>
社区版块
存档分类
最新评论

ant使用简介

    博客分类:
  • java
阅读更多
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>
 
   
分享到:
评论

相关推荐

    Ant使用指南.rar

    1. **Ant简介** - Ant是一个基于Java的构建工具,其设计目标是简化Java项目的构建过程,通过XML描述构建文件,使得构建过程可配置且可跨平台。 - 它的核心思想是“任务驱动”,将构建过程分解为一系列的任务,如...

    ant实验使用简介part6

    主要介绍了ant的使用方法。

    ant实验使用简介part4

    主要介绍了ant的使用方法。

    ant使用教程

    #### 一、Ant简介 1. **什么是Ant** - Ant是一款用于自动化构建过程的软件工具,最初由Apache Software Foundation开发。它主要用于编译、测试和部署Java应用程序,支持跨平台使用,因为它是用Java编写的。 2. **...

    ant实验使用简介part1

    主要介绍了ant的使用方法。

    ant使用指南(中文)

    ### 一、Ant简介 Ant是一个基于XML的构建工具,它的主要任务是读取名为`build.xml`的配置文件,根据其中的指令执行相应的构建操作。Ant的核心理念是“一切都是任务”,它通过预定义的任务和用户自定义的任务来完成...

    ant实验使用简介part7

    主要介绍了ant的使用方法。

    ant简介及实例pdf

    Ant是Apache软件基金会下的一个Java构建工具,它以其XML格式的构建文件闻名,用于自动化Java项目的构建、编译、...这个“ant简介及实例pdf”文档将为你提供一个良好的起点,帮助你在实践中逐步熟悉和掌握Ant的使用。

    Ant使用指南(适合初学者)

    一、Ant简介 Ant的设计理念是“简单就是美”。在Java开发中,当项目变得复杂时,手动管理编译、测试和部署等过程会变得繁琐,Ant则能有效解决这个问题。它通过构建文件来驱动构建过程,使得构建任务可重复且易于维护...

    apache-ant-1.6.5-bin.zip_ ant 1.6.5_ant_ant-1.6.5_apache ant win

    1. **Ant简介** - Ant是一个基于Java的构建工具,它简化了软件项目的构建过程,特别是Java项目。 - 它的核心概念是任务(Task),这些任务是由Ant提供的或者由用户自定义的,用于执行各种构建操作,如编译、复制、...

    Ant简介-----关于ant使用的简单教程

    Ant是Java开发中的一款自动化构建工具,类似于...开发者可以根据项目需求自定义Task,或者使用社区提供的众多预定义Task,以实现复杂的构建逻辑。通过合理地配置和利用Ant,可以大大提高Java项目的构建效率和一致性。

    Ant基本使用指南--从入门到精通

    #### 一、Ant简介 Apache Ant 是一个 Java 环境下的开源构建工具,它通过一系列预定义的任务来驱动构建过程,支持跨平台运行。Ant 以 XML 文件的形式来配置构建过程,使得构建脚本具有良好的可读性和扩展性。 ####...

    Junit+Jacoco+ant集成使用

    - 配置JaCoCo任务:在Ant中集成JaCoCo,需要使用JaCoCo的ant任务,包括`&lt;jacoco:coverage&gt;`和`&lt;jacoco:report&gt;`。前者用于收集覆盖率数据,后者用于生成报告。 - 运行测试并收集覆盖率:在JUnit任务中嵌套JaCoCo的...

    ant 使用帮助文档

    ### ant使用帮助文档 #### 知识点概览 1. **Ant的简介与功能** 2. **安装Ant的基本步骤** 3. **配置环境变量的方法** 4. **验证Ant是否安装成功** 5. **配置数据库链接信息** 6. **创建数据库表及与Ant项目的关联*...

    Ant简介(标签)

    ### Ant简介 #### 一、Ant概述 Ant是一款开源的Java构建工具,它主要用于构建Java应用程序,同时也支持其他类型的项目构建。与传统的构建工具(如make、gnumake和nmake)相比,Ant的设计更加现代化且具备良好的跨...

Global site tag (gtag.js) - Google Analytics