Ant のバックアップ(No.24)
- バックアップ一覧
- 差分 を表示
- 現在との差分 を表示
- 現在との差分 - Visual を表示
- ソース を表示
- Ant へ行く。
- 1 (2007-08-16 (木) 17:16:53)
- 2 (2007-11-30 (金) 14:02:54)
- 3 (2008-07-29 (火) 00:59:01)
- 4 (2008-09-14 (日) 17:44:32)
- 5 (2009-11-04 (水) 18:56:04)
- 6 (2010-11-20 (土) 15:01:26)
- 7 (2010-12-17 (金) 15:28:14)
- 8 (2010-12-19 (日) 18:55:11)
- 9 (2011-01-14 (金) 17:12:45)
- 10 (2011-01-18 (火) 22:49:08)
- 11 (2011-01-21 (金) 14:33:56)
- 12 (2011-02-15 (火) 19:56:36)
- 13 (2011-06-03 (金) 13:29:57)
- 14 (2012-01-19 (木) 18:52:53)
- 15 (2012-01-25 (水) 00:15:51)
- 16 (2012-03-06 (火) 14:30:03)
- 17 (2012-07-20 (金) 16:22:52)
- 18 (2014-02-18 (火) 19:13:59)
- 19 (2014-02-19 (水) 02:27:17)
- 20 (2014-09-02 (火) 15:44:27)
- 21 (2014-09-27 (土) 01:45:29)
- 22 (2014-11-08 (土) 01:39:55)
- 23 (2016-03-07 (月) 15:53:03)
- 24 (2016-06-15 (水) 16:57:49)
- 25 (2016-12-06 (火) 15:15:24)
- 26 (2017-01-23 (月) 19:59:27)
- 27 (2017-02-15 (水) 14:01:28)
- 28 (2017-03-24 (金) 12:44:41)
- 29 (2017-09-11 (月) 14:24:11)
- 30 (2017-09-19 (火) 18:30:26)
- 31 (2017-09-23 (土) 14:05:31)
- 32 (2017-10-19 (木) 16:07:45)
- 33 (2017-10-27 (金) 16:26:13)
- 34 (2017-10-31 (火) 20:52:57)
- 35 (2017-11-01 (水) 17:14:55)
- 36 (2017-11-16 (木) 18:13:36)
- 37 (2018-01-16 (火) 19:45:36)
- 38 (2018-10-27 (土) 20:59:14)
- 39 (2019-10-02 (水) 19:45:28)
- 40 (2022-09-30 (金) 20:13:52)
- keywords: [Ant] description: JavaベースのビルドツールであるAntの使い方についてメモしています。 author: aterai pubdate: 2003-09-25
概要
Ant
は、Java
ベースのビルドツールです。理論的には、make
の欠点がないmake
の一種です(Ant
翻訳より引用)。
このページでは、Java
ベースのビルドツールであるAnt
の使い方についてメモしています。
インストールと環境変数の設定
Apache Ant - Welcomeなどからダウンロードしたアーカイブを展開して、そこを環境変数ANT_HOME
に設定します。「システムのプロパティ→詳細設定→環境変数」で、ANT_HOME
を新規作成、もしくは編集してください。
また、%ANT_HOME%\bin\ant.bat
を使うために、パスを通しておきます。「システムのプロパティ→詳細設定→環境変数」で、Path
を編集してください。
タスクのサンプル
build.xml
、タスクなどのサンプルや、その他のちょっとしたTips
などを、以下別ページにまとめています。
AntのConditionタスクで条件分岐を行う
Condition
タスクを使って、例えばディレクトリの有無などによる条件で、Target
タスクを実行するかどうかを振り分けます。
AntのScriptタスク中でif文を使った条件分岐を行う
Condition
タスクの条件が複雑になるようなら、<script language="javascript">
タスクなどでif
文を使う方法もあります。
AntのTaskを自作
Ant
のTask
を自作し、これを利用する方法をテストします。
AntのScriptタスクでJavaScriptを使用する
Ant
のScript
タスクでJavaScript
を使用し、簡単なタスクを作成、実行します。
AntのJarタスクで実行可能なJarファイルの作成
Ant
を使って、Windows
環境などでダブルクリックすると起動するJar
ファイルを作成します。
AntでOutOfMemoryErrorが発生する場合
Ant
を実行するとOutOfMemoryError
が発生する場合の処置方法について解説しています。
AntのプロパティファイルをXMLにする
プロパティファイルのエンコーディングなどを気にせずに使えるように、Ant
のプロパティファイルをXML
にしてみます。
Antで子フォルダのbuild.xmlを全部実行
Subant
タスクを使って、一度に全部同じターゲットで子フォルダのbuild.xml
を実行します。
Antのbasedirを子フォルダに変更して全部実行
basedir
をカレントディレクトリ(${user.dir}
)とは別の場所に指定して、ant.bat
を実行します。
AntでFindBugsを実行する
Ant
からFindBugs
を実行します。
AntでPMDを実行する
Ant
からPMD
を実行します。
targetのサンプル
Checkstyleタスク
<condition property="have.checkstyle">
<available file="${env.CHECKSTYLE_JAR}" />
</condition>
<target name="checkstyle" if="have.checkstyle">
<taskdef resource="com/puppycrawl/tools/checkstyle/ant/checkstyle-ant-task.properties"
classpath="${env.CHECKSTYLE_JAR}" />
<mkdir dir="${build.reports}" />
<checkstyle config="${user.dir}/checks.xml" failOnViolation="false">
<formatter type="plain" />
<formatter type="xml" toFile="${build.reports}/checkstyle-result.xml" />
<fileset dir="${src.dir}">
<include name="**/*.java" />
</fileset>
</checkstyle>
</target>
Scpタスク
<path id="jsch.path">
<property name="scp.userid" value="${env.SCP_USERID}" />
<property name="scp.server" value="${env.SCP_SERVER}" />
<property name="scp.remotedir" value="${env.SCP_BASEDIR}" />
<pathelement location="${ant.home}/lib/ant-jsch.jar" />
<!-- http://www.jcraft.com/jsch/ からダウンロードして${ant.home}/lib/以下にコピー -->
<pathelement location="${ant.home}/lib/jsch-0.1.53.jar" />
</path>
<target name="scp">
<taskdef name="scp" classname="org.apache.tools.ant.taskdefs.optional.ssh.Scp"
classpathref="jsch.path" />
<!-- scp.userなどは、環境変数またはant scp -Dscp.user=fooなどで指定 -->
<scp todir="${scp.user}@${scp.server}:${scp.remotedir}"
keyfile="${user.home}/.ssh/id_rsa" trust="yes">
<fileset refid="scp.upload.fileset" />
</scp>
</target>
その他
buildfile
オプション
build.xml
ファイルを作ってコマンドプロンプトからant.bat
を実行します。引数が無い場合、カレントフォルダにあるbuild.xml
が使用されます。
ant
任意のbuild.xml
を使いたいときは、以下のようなオプションを使って指定します。
ant -buildfile "c:\hoge project\hoge_build.xml" ant -f "c:\hoge project\hoge_build.xml"
xyzzyなどから、ant.bat
をサブプロセス(C-x &)として実行する場合は、-emacs
オプションを追加します。このオプションをつけると、xyzzyのバッファに表示されたエラー上でF10キー(標準のキーバインドでは、F11キーを押すと次のエラーへ移動)を押すだけで、そのエラーの出たファイルの該当する行に、自動的にジャンプすることができます。
ant -emacs -buildfile "c:\hoge\build.xml" ant -e -f "c:\hoge\build.xml"
build.xml
ファイル
ネットを検索すれば、いろんなbuild.xml
が見つかるので、まずはその中からサンプルを選び、マニュアル(日本語訳)を見ながら修正すると、手っ取り早く作成することができます。
build.xml
とbuild.properties
のサンプル- http://ateraimemo.com/data/ant/build.zip
- この
build.zip
ファイルには、ソースコードのほかに、build.xml
とbuild.properties
を添付しています。build.properties
は、環境依存しそうな記述をbuild.xml
から抜き出したプロパティファイルです。JDOMなどから拾ってきた記述を追加、編集したりして作成しています。実際に使用する場合は、build.properties
ファイルを環境に合わせて編集してください。そのまま使用する場合は、build.xml
を展開し、src/java
フォルダ以下にソースコード(Shift_JIS
)を置いてください。
- Java Swing Tips以下のサンプル
- http://ateraimemo.com/swing/toolbarlayout/src.zip
- このサイトのJava Swing Tipsのサンプルに添付されている
build.xml
はすべて同一です。こちらは、「build.xml
とbuild.properties
のサンプル」とは違い、ソースコードはUTF-8
で、build.properties
ではなく、xml
ファイル(properties.xml
)をプロパティファイルとして使用しています。