`
avenje
  • 浏览: 13134 次
  • 性别: Icon_minigender_1
  • 来自: 广州
文章分类
社区版块
存档分类
最新评论

ant 的使用

 
阅读更多

明天还要上班,赶着把此文写完,就睡觉了。现在已经快凌晨一点了。。。希望此文对你有帮忙!!!


大型的软件开发,开发过程中,不免要进行调试测试工作。如果按照传统的方式,手动构建并编译项目(工程)。软件开发的专注度被分散了,即既要开发维护,又要编译工程;在这种情况下,软件开发出现了一种用于自动构建编译项目的工具。比如,C/C++中的 makefile,又如接下来要讲的java中的ant工具。

以下主要讲解java中ant xml文件的结构,以及各部分定义的含义。

ant文件主要是以project为根节点,以property定义变量,包含多个target子任务的xml文件

1.以project为根节点,name属性指定当前项目的名称,basedir指定当前项目的根目录 (其中.表示当前目录,..表示当前目录的父目录)

2.以property定义变量:就是一些变量的定义(用property来定义,格式形如<property name='xx' value='${basedir}' />,在这里所定义的变量,如上面的xx,在任务target里边可以通过${}读取,即${xx})。

3.用target定义子任务

target节点下有name, depends,description等属性,分别用于定义当前子任务名称,依赖关系,描述

在每个target子任务下,可以自定义一些命令,如delete,mkdir,copy,javac,jar等命令。这些命令又各自有自己的属性。

build.xml例子:

<?xml version="1.0"?>
<project name="MyEjbTestProject" basedir=".">
<property environment="env" />
<property name="src.dir" value="${basedir}\src" />
<property name="build.dir" value="${basedir}\build" />
<property name="jboss.home" value="${env.JBOSS_HOME}" />
<property name="Server.defaultConfig" value="server\default\deploy" />

<path id="dependsjarpath">
<fileset dir="${jboss.home}\client">
<include name="*.jar" />
</fileset>

</path>

<target name="initial" description="创建用于存放通过编译的class文件">
<echo message="创建用于存放通过编译的class文件"/>
<delete dir="${build.dir}" />
<mkdir dir="${build.dir}" />
</target>
<target name="compile" depends="initial" description="">
<echo message="将src下的java文件编译成class文件"/>
<javac srcdir="${src.dir}" destdir="${build.dir}" includeantruntime="on">
<classpath refid="dependsjarpath"/>
</javac>
</target>

<target name="jar" depends="compile" description="">
<echo message="将build下的class文件打包成jar文件"/>
<jar jarfile="${build.dir}\${ant.project.name}.jar" >
<fileset dir="${build.dir}">
<include name="**/*.class" />
</fileset>
<metainf file="${src.dir}\META-INF\persistence.xml"></metainf>
</jar>
</target>
<target name="deploy" depends="jar" description="">
<echo message="部署EJB"/>
<copy file="${build.dir}\${ant.project.name}.jar" tofile="${jboss.home}\${Server.defaultConfig}" />
<!--
<echo message="拷贝数据源xml文件到 JBOSSHOME0\server\default\deploy"/>
<copy file="${basedir}\reqlib\oracle-ds.xml" tofile="${jboss.home}\${Server.defaultConfig}" />
<echo message="拷贝oracle数据库驱动文件到 JBOSSHOME0\server\default\lib"/>
<copy file="${basedir}\reqlib\ojdbc6.jar" tofile="${jboss.home}\${Server.defaultConfig}\..\lib" />
-->
</target>


<target name="undeploy" depends="" description="">
<echo message="删除EJB"/>
<delete file="${jboss.home}\${Server.defaultConfig}\${ant.project.name}.jar" />

</target>
</project>

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics