使用Ant快速开始一个Helloworld程序
== 安装ant ==
1)、 下载最新版本的ant
2)、 安装ant
* 将ant安装包解压到安装目录
本文使用ant版本为 apache-ant-1.8.0
安装位置为 D:\Program Files\apache-ant-1.8.0
* 配置环境变量
添加变量 ANT_HOME = D:\Program Files\apache-ant-1.8.0
更新变量 PATH 在原有值后面添加 ;%ANT_HOME%\bin
* 测试
在命令行下输入 ant -v 查看ant版本
== 运行 Helloworld for java ==
* 编写 Helloworld.java
位置 E:\learn\ant\helloworld\src\oata\Helloworld.java
package oata;
public class HelloWorld {
public static void main(String[] args) {
System.out.println("Hello World");
}
}
* 编译并运行HelloWorld程序
# 创建目标路径 > mkdir \a build\classes # 编译java源文件 > javac -sourcepath src -d build\classes src\oata\HelloWorld.java # 执行helloworld程序 > java -cp build\classes oata.HelloWorld # 构建 jar 文件 ## 创建 jar 描述文件 > echo Main-Class: oata.HelloWorld>myManifest ## 打包jar文件 > mkdir build\jar > jar cvfm build\jar\HelloWorld.jar myManifest -C build\classes . ## 通过jar 文件运行 helloworld 程序 > java -cp build\jar\HelloWorld.jar oata.HelloWorld
== 使用 ant 脚本 编译并执行 helloworld 程序 ==
- E:\learn\ant\helloworld\build.xml
<project>
<target name="clean">
<delete dir="build"/>
</target>
<target name="compile">
<mkdir dir="build/classes"/>
<javac srcdir="src" destdir="build/classes"/>
</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>
* 执行Ant脚本
# 执行ant脚本,编译打包并运行helloworld程序 > ant compile jar run # 查看Ant项目中可用的Target > ant -p
—————-
== 优化后的Ant脚本 ==
<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>


Trackbacks /
Pingbacks