您的位置:首页 > 其它

Ant学习笔记

2015-10-29 14:58 411 查看
Ant 是一个将软件编译、测试、部署等步骤联系在一起加以自动化的一个工具,大多用于Java环境中的软件开发。

安装和配置

下载ant,http://ant.apache.org/

解压压缩包,如放置在F:\chuxing\apache-ant-1.9.6,目录结构如下:

bin是ant的程序运行入口。

etc中存放的是一些xsl的输出模板。

lib中存放的是ant程序需要依赖的jar包。

manual中存放的是ant程序的帮助文档。

新建系统变量ANT_HOME = F:\chuxing\apache-ant-1.9.6,在PATH中添加ANT_HOME目录下的bin目录。

测试。在cmd中输入ant回车,如果看到如下提示则表示配置成功。

Buildfile: build.xml does not exist!

Build failed

准备项目

我们将java源文件放在src目录中,所有生成的文件放在build目录中,build下面有两个子目录classses和jar,分别用于存放编译得到的class文件和生成的jar文件。

1 创建src目录

md src


2 在src\oata\HelloWorld.java文件中编写如下代码:

package oata;

public class HelloWorld {
public static void main(String[] args) {
System.out.println("Hello World");
}
}


3 编译和运行

md build\classes
javac -sourcepath src -d build\classes src\oata\HelloWorld.java
java -cp build\classes oata.HelloWorld


4 创建一个可执行的jar文件

echo Main-Class: oata.HelloWorld>myManifest
md build\jar
jar cfm build\jar\HelloWorld.jar myManifest -C build\classes .
java -jar build\jar\HelloWorld.jar


使用Ant运行程序

默认情况下,Ant使用build.xml作为buildfile文件,我们的.\build.xml内容如下:

<project>

<target name="clean">
<delete dir="build"/>
</target>

<target name="compile">
<mkdir dir="build/classes"/>
<javac srcdir="src" destdir="build/classes" includeantruntime="on"/>
</target>

<target name="jar">
<mkdir dir="build/jar"/>
<jar destfile="build/jar/HelloWorld.jar" basedir="build/classes">
<manifest>
<attribute name="Main-Class" value="oata.HelloWorld"/>
</manifest>
</jar>
</target>

<target name="run">
<java jar="build/jar/HelloWorld.jar" fork="true"/>
</target>

</project>


现在可以通过如下命令编译、生成jar文件和运行程序:

ant compile
ant jar
ant run


或者直接使用:

ant compile jar run


增强后的build文件

<project name="HelloWorld" basedir="." default="main">

<property name="src.dir"     value="src"/>

<property name="build.dir"   value="build"/>
<property name="classes.dir" value="${build.dir}/classes"/>
<property name="jar.dir"     value="${build.dir}/jar"/>

<property name="main-class"  value="oata.HelloWorld"/>

<target name="clean">
<delete dir="${build.dir}"/>
</target>

<target name="compile">
<mkdir dir="${classes.dir}"/>
<javac srcdir="${src.dir}" destdir="${classes.dir}"/>
</target>

<target name="jar" depends="compile">
<mkdir dir="${jar.dir}"/>
<jar destfile="${jar.dir}/${ant.project.name}.jar" basedir="${classes.dir}">
<manifest>
<attribute name="Main-Class" value="${main-class}"/>
</manifest>
</jar>
</target>

<target name="run" depends="jar">
<java jar="${jar.dir}/${ant.project.name}.jar" fork="true"/>
</target>

<target name="clean-build" depends="clean,jar"/>

<target name="main" depends="clean,run"/>

</project>


此时可以只输入ant命令就完成所有工作。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: