一 28
[codes=xml]
<project name="MyProject" default="compile">
<property file="build.properties"/>
<property name="build.debug" value="on"/>
<property name="buiid.dir" location="build"/>
<target name="init" description="Create dir">
<mkdir dir="build/classes"/>
<mkdir dir="dist"/>
</target>
<path id="comiple.classpath">
<pathelement location="${a.jar}"/>
<pathelement location="${b.jar}"/>
</path>
<target name="compile" depends="init" description="Compile src file">
<javac srcdir="${build.dir}" destdir="build/classes">
<classpath>
<pathelement location="lib/some.jar"/>
</classpath>
<!– use another classpath
<classpath refid="compile.classpath"/>
–>
</javac>
</target>
<fileset dir="dist" includes="*.jar" id="source.fileset/>
<target name="archive" depends="compile" description="jar the classes!">
<jar desfile="dist/project.jar" basedir="build/classes"/>
<copy todir="deploy">
<fileset refid="source.fileset"/>
</copy>
</target>
<target name="execute" depends="compile" description="run the class">
<java classname="com.unique.test.Hello" classpath="build/classes"
<arg value="a"/>
</java>
</target>
<target name="clean" depends="init" decription="del the dir">
<delete dir="build" />
<delete dir="dist" />
</target>
</project>
[/codes]
Tags:
ant,
模版 作者:堕落天使
一 10
作者: Michel Casabianca
本文是一个用于构建和部署Java工程的极具价值的工具(Ant)系列文章的第二部分。
在我的第一篇文章《Ant简介》(Oracle杂志,2002年11/12月号)中,我介绍了在Java开发过程中可能要执行的一些基本任务。我使用Ant自动编译Java源代码、创建JAR文件、运行程序并生成Javadoc。在这第二篇文章中,我将要讨论Ant的两个任务包(核心任务包和可选任务包)中的一些更高级的Ant特性。核心包包括构建、打包和部署Java工程的任务,也包括执行SQL语句的任务和与并发版本控制系统(Concurrent Versions System ,CVS)相集成的任务。可选包以各种方式扩展了Ant的功能,这些方式包括:与其他源代码控制系统相集成、运行unit测试和预编译JavaServer Pages (JSP)等。我还将讨论它与Oracle9i JDeveloper 9.0.3的集成,并提供一些有用的Ant提示与技巧。
打包一个应用程序
为了分布应用程序,你可能需要生成一个文档库:tar.gz 和/或zip文件(分别用于UNIX 和Windows平台)。为了生成这两个文件,你应该编写清单1中所示的目标(target)。
在这个目标中,我使用两个专门任务来生成tar和zip文件。它们是非常类似的;它们的根元素包括一个说明要生成的的文档库名称的属性(属性tarfile和zipfile),它们都嵌套了一个专门的fileset来列举要包括在这个文档库中的文件。
这个目标看起来似乎是冗长的,但这有助于解决两个令人头疼的问题:文件许可和安装目录。当对一个文档库进行解压缩时,假定文件有合理的文件许可并将其安装到它们自己的目录中。
为了解决文件许可问题,我把要集成到该文档库中的文件按照功能分为两组:一个为不可执行的文件定义一个模式的patternset(指定的dist-non-exec),和将执行文件(外壳脚本和.bat文件)集中到bin目录中的另一个patternset(指定的dist-exec)。tarfileset–用于tar任务的专门fileset,使用mode属性管理文件许可,其值是该集合中文件的数字文件许可值。 更多详细内容 »
Tags:
ant 作者:堕落天使
一 10
作者:Michel Casabianca
本文讲述如何使用这个具有极大价值的工具(Ant)来构建和部署Java工程。
Ant是一个用于简单或复杂Java工程的自动化构建、部署工具,它对于那些具有分布式开发团队或者相信通过频繁的构建来进行不间断集成的公司尤其有用。对于那些建立传统全Java应用程序以及那些使用HTML、JSP和Java servlets创建Web应用程序的公司来说,Ant极具价值。无论你的Java开发者使用什么操作系统、集成开发环境或者构建环境,Ant都可以将你的工程集合在一起,用于那些重要的构建。Ant也能够自动化并且同步文档部署,这通常发生在软件开发过程中的没有正式文档和文档比较混乱的部分。
在构建和部署Java应用程序的时候,Ant处理着大量有用的任务。最基本的任务包括添加和移除目录、使用FTP拷贝和下载文件、创建JAR和ZIP文件以及创建文档。更高级的特性包括用源代码控制系统诸如CVS或者SourceSafe来检查源代码、执行SQL查询或脚本、将XML文件转换为人能识别的HTML,以及为远程方法调用生成stub(存根)文件。
Ant和Make(非常著名的构建工具,很多C语言开发人员都使用它)之间有什么不同?Ant是为Java而创建,带有属于其自身的、独特的范例,具有可移植性。而Make依赖于固定的操作系统命令(因此一个运行在微软Windows下的Make文件对于使用UNIX的开发者来说毫无用处),利用Ant构建的纯Java工程是可移植的,因为Ant本身就是用Java编写的,并且Ant bulidfiles使用XML语法。
本文将向你展示一个典型的Ant文件,它使用了很多的Ant基本任务。
一个典型的Ant工程
Ant使用用XML编写的、称作bulidfile的工具来开展它的工作。让我们考虑一个源文件在src目录中、类库(包括JAR文件)在lib目录中、API文档在doc/api目录中的典型Java工程。我们可以利用如下的Ant buildfile来构建这个工程。
更多详细内容 »
Tags:
ant 作者:堕落天使
近期评论