このチュートリアルでは、Antビルドツールを使用してJavaプロジェクトを管理し、コンパイルしてJarファイルにパッケージングする方法を説明します。

使用される技術:

  1. Eclipse 4.2

  2. アリ1.9.4

  3. JDK 1.7

1. Javaプロジェクトを作成する

Eclipse IDEで、 “AntDateUtils”という名前の新しいJavaプロジェクトを作成します。


ant-java-project、width = 371、height = 205

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ビルドスクリプト

完了、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

最終的なディレクトリ構造


ant-java-project-final、width = 407、height = 323

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

ソースコードをダウンロードする

ダウンロードする – リンク://wp-content/uploads/2014/10/AntDateUtils.zip[AntDateUtils.zip](6 KB)

参考文献

アントハローワールドオフィシャルガイド]