2000年3月28日星期二

Ant編



◆Antとは?
AntはJavaベースのビルドツールです。Antを使用することによってソフトウエアを開発する際の様々な作業を自動化することができます。
◆ここでの環境
OS Windows XP
J2SE SDK 1.4.1_01
Ant 1.5.2
◆Java実行環境の構築
アプリケーション編を参考にしてJava実行環境を構築してください。
◆Antのダウンロード
Antは以下のサイトからダウンロードできます。ダウンロードできたらファイルを解凍してください。

http://ant.apache.org/bindownload.cgi
◆環境変数の設定
ANT_HOMEを新規に設定します。
環境変数 設定する値について
ANT_HOME ダウンロードしたファイルを解凍したフォルダのパスを指定。

(例)

C:\Download\apache-ant-1.5.2
PATH %ANT_HOME%\binを追加
 
◆ソースファイルの作成
Antテスト用のソースファイルを作成します。javadoc編と同じソースを使用します。ソースに意味はありません。
■ソースファイルの置き場所
作業フォルダの下にsrcフォルダを作成してその下にソースファイルを作成します。
作業フォルダ-|
+--\src\HelloWorldJavaDoc.java
■作成
HelloWorldJavaDoc.java(ここからダウンロード)
import java.io.*;

/**
 * JavaDocテスト用クラスです。ソースに意味はありません。<br>
 * @author 田中宏和
 * @version 1.0
 */
public class HelloWorldJavaDoc {
  /**
   * コメント
   */
  private String comment;
  /**
   * 引数なしのコンストラクタ
   */
  public HelloWorldJavaDoc() {
  }
  /**
   * コメントを引数とするコンストラクタ
   * @param comment コメント
   */
  public HelloWorldJavaDoc(String comment) {
    this.comment = comment;
  }
  /**
   * コメントの取得
   * @return コメントを返す。<br>
   * コメントが設定されていない場合「知らない」を返す。
   */
  public String getComment() {
    if (comment==null) {
      return "知らない";
    }
    return comment;
  }
  /**
   * コメントを設定
   * @param comment コメント
   */
  public void setComment(String comment) {
    this.comment = comment;
  }
  /**
   * コメントを出力ストリームに出力させる。<br>
   * コメントがない場合「知らない」と出力。
   * @param OutputStreamWriterクラス
   * @throws java.io.IOException 入出力エラーが発生した場合にスローされる
   */
  public void sayComment(OutputStreamWriter out) throws IOException {
    if (comment==null) {
      out.write("知らない");
    } else {
      out.write(comment);
    }
  }
}
 
 
◆ビルドファイルの作成
■ビルドファイルとは?
Antはbuild.xmlという名前のXML形式のファイルに書かれた指示に従って様々な作業を行います。このファイルのことをビルドファイルと呼びます。
■ビルドファイルの置き場所
作業フォルダの下にbuild.xmlファイルを作成します。
作業フォルダ-|
|-\build.xml
+--src\HelloWorldJavaDoc.java
■作成
ここでは以下の作業を行う設定を記述します。

1.ソースファイルのコンパイル

2.jarファイルの作成

3.javadocの作成

4.生成したファイルの削除
build.xml(ここからダウンロード)
<?xml version="1.0" encoding="Shift_JIS"?>

<project name="javahelloant" default="jar"  basedir=".">

  <!-- ****プロパティ**** -->
  <!-- ソースファイルがあるディレクトリ -->
  <property name="src.dir" value="src"/>

  <!-- クラスファイルを出力するディレクトリ -->
  <property name="classes.dir" value="classes"/>

  <!-- javadocを出力するディレクトリ -->
  <property name="javadoc.dir" value="docs"/>

  <!-- jarファイル名 -->
  <property name="jar.name" value="javahelloant.jar"/>



  <!-- ****ターゲット**** -->
  <!-- jarファイルの作成 -->
  <target name="jar" depends="compile">
    <jar jarfile="${jar.name}" basedir="${classes.dir}"></jar>
  </target>


  <!-- コンパイル -->
  <target name="compile">
    <mkdir dir="${classes.dir}" />
    <javac srcdir="${src.dir}" destdir="${classes.dir}"/>
  </target>

  <!-- javadocの作成 -->
  <target name="javadoc">
    <javadoc destdir="${javadoc.dir}">
      <fileset dir="${src.dir}"/>
    </javadoc>
  </target>
 
  <!-- 生成したファイルやフォルダの削除 -->
  <target name="clean">
    <delete dir="${classes.dir}" />
    <delete dir="${javadoc.dir}" />
    <delete file="${jar.name}" />
  </target>
</project>
 
 
◆antコマンドの使い方
ビルドファイルに記述された処理はantコマンドで実行することができます。
■antコマンドの使用方法
ターゲットはビルドファイルに記述したターゲットの名前を指定します。ターゲットを省略した場合はproject要素のdefault属性の値が使用されます。
ant [オプション] [ターゲット [ターゲット2 [ターゲット3] ...]]
■オプションの説明
オプション 説明
-help ヘルプを表示します
-projecthelp プロジェクトのヘルプを表示します
-version バージョン情報を表示します
-diagnostics 現在の実行環境に関する情報を表示します
-quiet
, -q
メッセージを出力しないようにします
-verbose
, -v
メッセージをできるだけ出力するようにします
-debug デバック情報を表示します
-emacs 装飾なしのログ情報を生成します
-logfile
<file>

-l <file>
ログを出力するファイルを指定します
-logger <classname> ロギングを行うためのクラスを指定します
-listener <classname> プロジェクトリスナーとして追加するクラスのインスタンスを指定します
-buildfile <file>

-file <file>

-f <file>
ビルドファイルを指定します
-D<property>=<value> プロパティを設定します
-propertyfile <name> プロパティファイルを指定します
-inputhandler <class> ユーザーからの入力を扱うクラスを指定します
-find <file> ビルドファイルをファイルシステムのルートに向かい検索しそれを使用します
 
◆コンパイルを行う
コンパイルを行うにはビルドファイルに記述されたコンパイルを行うターゲットの名前を指定します。
コマンドプロンプト
C:\JavaHello\Ant>ant
compile


Buildfile: build.xml

compile:

[mkdir] Created dir: C:\JavaHello\Ant\classes

[javac] Compiling 1 source file to C:\JavaHello\Ant\classes

BUILD SUCCESSFUL

Total time: 6 seconds

C:\JavaHello\Ant>

おおお!コンパイルできましたね!
 
◆jarファイルの生成を行う
jarファイルの生成を行うにはビルドファイルに記述されたjarファイルの生成を行うターゲットの名前を指定します。また、プロジェクトのデフォルトのターゲットがjarファイルの生成になっているのでターゲットを指定しなくてもjarファイルの生成を行います。
コマンドプロンプト
C:\JavaHello\Ant>ant
jar


Buildfile: build.xml

compile:

jar:

[jar] Building jar: C:\JavaHello\Ant\javahelloant.jar

BUILD SUCCESSFUL

Total time: 1 second

C:\JavaHello\Ant>

コマンドプロンプト
C:\JavaHello\Ant>ant

Buildfile: build.xml

compile:

jar:

[jar] Building jar: C:\JavaHello\Ant\javahelloant.jar

BUILD SUCCESSFUL

Total time: 1 second

C:\JavaHello\Ant>

おおおお!jarファイルが生成できましたね!
 
◆javadocの生成を行う
javadocの生成を行うにはビルドファイルに記述されたjavadocの生成を行うターゲットの名前を指定します。
コマンドプロンプト
C:\JavaHello\Ant>ant
javadoc


Buildfile: build.xml

javadoc:

[javadoc] Generating Javadoc

[javadoc] Javadoc execution

[javadoc] ソースファイル C:\JavaHello\Ant\src\HelloWorldJavaDoc.java
を読み込んでいます...

[javadoc] Javadoc 情報を構築しています...

[javadoc] 標準 Doclet バージョン 1.4.1

[javadoc] C:\JavaHello\Ant\docs\constant-values.html
の生成

[javadoc] 全パッケージとクラスの階層ツリーを作成しています...

[javadoc] 全パッケージとクラスのインデックスを作成しています...

[javadoc] C:\JavaHello\Ant\docs\overview-tree.html の生成

[javadoc] C:\JavaHello\Ant\docs\index-all.html の生成

[javadoc] C:\JavaHello\Ant\docs\deprecated-list.html
の生成

[javadoc] 全クラスのインデックスを作成しています...

[javadoc] C:\JavaHello\Ant\docs\allclasses-frame.html
の生成

[javadoc] C:\JavaHello\Ant\docs\allclasses-noframe.html
の生成

[javadoc] C:\JavaHello\Ant\docs\index.html の生成

[javadoc] C:\JavaHello\Ant\docs\packages.html の生成

[javadoc] C:\JavaHello\Ant\docs\HelloWorldJavaDoc.html
の生成

[javadoc] C:\JavaHello\Ant\docs\package-list の生成

[javadoc] C:\JavaHello\Ant\docs\help-doc.html の生成

[javadoc] C:\JavaHello\Ant\docs\stylesheet.css の生成

BUILD SUCCESSFUL

Total time: 2 seconds

C:\JavaHello\Ant>

おおお!javadocが生成できましたね!
 
◆生成したファイルやフォルダを削除する
生成したファイルやフォルダの削除を行うにはビルドファイルに記述された生成したファイルやフォルダの削除を行うターゲットの名前を指定します。
コマンドプロンプト

C:\JavaHello\Ant>ant clean

Buildfile: build.xml

clean:

[delete] Deleting directory C:\JavaHello\Ant\classes

[delete] Deleting directory C:\JavaHello\Ant\docs

[delete] Deleting: C:\JavaHello\Ant\javahelloant.jar

BUILD SUCCESSFUL

Total time: 1 second

C:\JavaHello\Ant>

おおお!生成したファイルやフォルダが削除できましたね!

没有评论:

发表评论