Java > javac タスク
更新日
2012-04-10
広告
Antのjavacタスクの使い方を紹介します。javacタスクを使うと、Javaプログラムをコンパイルできます。
javacタスクでコンパイルするサンプルプログラム Main.java を以下に記します。Log4jを利用しています。
package sample; import org.apache.log4j.Logger; public class Main { private static Logger logger; }
ディレクトリとファイルの構成は、以下のようになっています。
build.xml src/ sample/ Main.java lib/ log4j-1.2.15.jar classes/
- srcディレクトリ: ソースコードを配置するディレクトリ
- libディレクトリ: ライブラリ(.jarファイル)を配置するディレクトリ
- classesディレクトリ: コンパイル結果(.classファイル)を配置するディレクトリ
javacタスクで、Main.javaをコンパイルして、classes以下にコンパイル結果(.classファイル)を出力します。その際のbuild.xmlは、以下のようになります。
<project name="sample" default="compile" basedir="."> <property name="src" value="src"/> <property name="lib" value="lib"/> <property name="output" value="classes"/> <path id="class.path"> <fileset dir="${lib}"> <include name="**/*.jar"/> </fileset> </path> <target name="clear"> <delete dir="${output}"/> <mkdir dir="${output}"/> </target> <target name="compile" depends="clear"> <javac srcdir="${src}" destdir="${output}"> <classpath refid="class.path"/> </javac> </target> </project>
path要素で、クラスパスを設定しています。クラスパスの名前を"class.path"としています。libディレクトリ以下の.jarファイルを、全てクラスパスに設定しています。これで、log4jをクラスパスに通せます。
build.xmlの以下の部分は、classesディレクトリを毎回初期化(削除して作成)するための設定です。
<target name="clear"> <delete dir="${output}"/> <mkdir dir="${output}"/> </target>
javacタスクでは、srcdir属性でソースコードのディレクトリを、destdir属性でコンパイル結果の出力先を指定します。また、classpath要素で、先ほど設定したクラスパスを参照しています。
<target name="compile" depends="clear"> <javac srcdir="${src}" destdir="${output}"> <classpath refid="class.path"/> </javac> </target>
antを実行すると、Main.javaがコンパイルされます。
$ ant : BUILD SUCCESSFUL Total time: 0 seconds
広告
お問い合わせは sweng.tips@gmail.com まで。