在本教程中,我们将向您展示如何使用Ant构建工具来管理Java项目,进行编译并将其打包到Jar文件中。
使用的技术:
- Eclipse 4.2
- 蚂蚁1.9.4
- JDK 1.7
1.创建一个Java项目
在Eclipse IDE中,创建一个名为“ AntDateUtils”的新Java项目。
2. Java源代码
创建一个新的Java类以打印出当前日期:
src/com/mkyong/core/utils/DateUtils.java
package com.mkyong.core.utils;
import java.util.Date;
public class DateUtils {
public static void main(String[] args) {
System.out.println(getLocalCurrentDate());
}
private static Date getLocalCurrentDate() {
return new Date();
}
}
3. build.xml
在项目根文件夹中创建一个新的build.xml
,阅读注释以进行自我解释。
build.xml
<project name="AntJavaProject" default="main" basedir=".">
<description>
Create a Java Project (JAR) with Ant build script
</description>
<property name="projectName" value="DateUtils" />
<!-- Java sources -->
<property name="src.dir" location="src" />
<!-- Java classes -->
<property name="build.dir" location="bin" />
<!-- Output, Jar -->
<property name="dist.dir" location="dist" />
<target name="init">
<!-- Create the time stamp -->
<tstamp />
<!-- Create the build directory structure used by compile -->
<mkdir dir="${build.dir}" />
</target>
<target name="compile" depends="init" description="compile the source ">
<!-- Compile the java code from ${src.dir} into ${build.dir} -->
<javac includeantruntime="false" srcdir="${src.dir}" destdir="${build.dir}" />
</target>
<target name="dist" depends="compile" description="package, output to JAR">
<!-- Create the distribution directory -->
<mkdir dir="${dist.dir}" />
<!-- Put everything in ${build} into the {$projectName}-${DSTAMP}.jar file -->
<jar jarfile="${dist.dir}/${projectName}-${DSTAMP}.jar" basedir="${build.dir}" >
<manifest>
<!-- create an executable Jar -->
<attribute name="Main-Class" value="com.mkyong.core.utils.DateUtils" />
</manifest>
</jar>
</target>
<target name="clean" description="clean up">
<delete dir="${build.dir}" />
<delete dir="${dist.dir}" />
</target>
<!-- Default, run this -->
<target name="main" depends="clean, compile, dist" />
</project>
4.蚂蚁构建脚本
完成,尝试一些Ant命令
4.1编译源代码
$ ant compile
build.xml
<target name="compile" depends="init" description="compile the source ">
<javac includeantruntime="false" srcdir="${src.dir}" destdir="${build.dir}" />
</target>
4.2将项目打包到可执行的Jar文件中
$ ant dist
build.xml
<target name="dist" depends="compile" description="package, output to JAR">
<mkdir dir="${dist.dir}" />
<jar jarfile="${dist.dir}/${projectName}-${DSTAMP}.jar" basedir="${build.dir}">
<manifest>
<attribute name="Main-Class" value="com.mkyong.core.utils.DateUtils" />
</manifest>
</jar>
</target>
4.3删除文件夹
$ ant clean
build.xml
<target name="clean" description="clean up">
<delete dir="${build.dir}" />
<delete dir="${dist.dir}" />
</target>
4.4如果没有选项,将执行默认目标,在此示例中,默认目标为main
build.xml
<project name="AntJavaProject" default="main" basedir=".">
...
<target name="main" depends="clean, compile, dist" />
$ ant
输出量
Buildfile: /Users/mkyong/Documents/workspace/AntDateUtils/build.xml
clean:
[delete] Deleting directory /Users/mkyong/Documents/workspace/AntDateUtils/bin
[delete] Deleting directory /Users/mkyong/Documents/workspace/AntDateUtils/dist
init:
[mkdir] Created dir: /Users/mkyong/Documents/workspace/AntDateUtils/bin
compile:
[javac] Compiling 1 source file to /Users/mkyong/Documents/workspace/AntDateUtils/bin
dist:
[mkdir] Created dir: /Users/mkyong/Documents/workspace/AntDateUtils/dist
[jar] Building jar: /Users/mkyong/Documents/workspace/AntDateUtils/dist/DateUtils-20141030.jar
main:
BUILD SUCCESSFUL
Total time: 1 second
最终目录结构
5.测试
5.1在Jar文件中运行一个类。
$ pwd
/Users/mkyong/Documents/workspace/AntDateUtils
$ java -cp dist/DateUtils-20141030.jar com.mkyong.core.utils.DateUtils
Thu Oct 30 17:39:21 MYT 2014
5.2运行可执行的Jar文件
$ pwd
/Users/mkyong/Documents/workspace/AntDateUtils
$ java -jar dist/DateUtils-20141030.jar
Thu Oct 30 17:40:21 MYT 2014
下载源代码
下载它– AntDateUtils.zip (6 KB)
参考文献
翻译自: https://mkyong.com/ant/ant-how-to-create-a-java-project/