トップページ >  Ant >  Antでプロパティファイルを読み込む
初版2013/12/14: 最終更新日2013/12/14
  Antでプロパティファイルを読み込む
目次
Antでプロパティファイルを読み込む
Antでimportを使用してプロパティファイルを読み込む
Antでプロパティファイルを読み込む
Antで変数を設定することができますが、プロパティズファイルを使用して変数を設定し、そのファイルを読み込むことができます。
プロパティズファイル配下のようにイコールで変数名と値を結んでいるだけです。以下をant.propertiesという名前で保存します。

val1=Complete
val2=test.jar

ant.propertiesファイルを読み込むには以下の書式で読み込みます。

<property file="ant.properties" />

build.xmlに以下のように記述します。

<?xml version="1.0" ?>
<project default="aa">

  <property file="ant.properties" />

  <target name="aa" depends="bb,assyuku">
    <echo>${val1}</echo>
  </target>
  
  <target name="bb">
    <javac srcdir="." includeAntRuntime="true" />
  </target>

  <target name="assyuku">
    <jar jarfile="${val2}" basedir="." includes="*.class" />
  </target>
</project>

変数はダブルクォーテーションで囲む必要がありますが、echoの場合はダブルクォーテーションで囲まなくても変数が展開されます。

C:¥>ant
Buildfile: C:¥build.xml

bb:

assyuku:
      [jar] Building jar: C:\workspace4.3\purejava\src\purejava\test.jar

aa:
     [echo] Complete

BUILD SUCCESSFUL
Total time: 0 seconds

C:¥>

Antでimportを使用してプロパティファイルを読み込む
上記のようにプロパティズファイルを読み込む場合は、日本語の場合、native2asciiを実行する必要があります。
その点、importタスクを使用すると、別のビルドファイルを読み込むことが可能なため、property fileの代わりをすることができます。
importタスクの書式は以下の通りです。

<import file="" />

importを使用してant.buildというファイルをimportしてみます。ant.buildは以下の通りです。
encoding="UTF-8"としているのでUTF-8で保存する必要があります。

<?xml version="1.0" encoding="UTF-8"?>
<project>
<property name="val1" value="Complete" />
<property name="val2" value="test.jar" />
</project>

上記のant.buildファイルをimportタスクから読み込みます。

<?xml version="1.0" ?>
<project default="aa">

  <import file="ant.build" />

  <target name="aa" depends="bb,assyuku">
    <echo>${val1}</echo>
  </target>
  
  <target name="bb">
    <javac srcdir="." includeAntRuntime="true" />
  </target>

  <target name="assyuku">
    <jar jarfile="${val2}" basedir="." includes="*.class" />
  </target>
</project>

変数はダブルクォーテーションで囲む必要がありますが、echoの場合はダブルクォーテーションで囲まなくても変数が展開されます。

C:¥>ant
Buildfile: C:¥build.xml

bb:

assyuku:
      [jar] Building jar: C:\workspace4.3\purejava\src\purejava\test.jar

aa:
     [echo] Complete

BUILD SUCCESSFUL
Total time: 0 seconds

C:¥>