category: Mindstorms
DATE : 2007/04/03 (Tue)
DATE : 2007/04/03 (Tue)
前回の記事で、lejosc コマンドの中身は javac コマンドを leJOS 環境向けに実行していることがわかりました。
lejosc コマンドを実行した後、LMS 向けのマインドストームをビルドするにはクラスファイルを JAR ファイルにまとめる必要があります。この時に使う jar コマンドも JDK 付属のツールです。
そこで、Apache Ant のビルドファイルを作ってみました。このビルドファイルを使用すると、LMS 向けマインドストームを格納した JAR ファイルを ant コマンド一発で生成できます。マニフェストファイルは Apache Ant 側で生成するため、用意する必要はありません。
LMS 向けマインドストームをビルドする Apache Ant ビルドファイルを以下に掲載します。Apache Ant 1.6.5 で動作を確認しました。
<?xml version="1.0" encoding="UTF-8" ?> <project name="example_robot_project" default="jar" basedir="."> <!-- プロパティ一覧 --> <!-- leJOS のインストールディレクトリ --> <property name="lejos_home" location="c:/lejos" /> <!-- ソースコードのトップディレクトリ --> <property name="java_src" location="src/main/java" /> <!-- ビルド結果を格納するディレクトリ --> <property name="target" location="target" /> <!-- メインクラス(完全修飾名で指定) --> <property name="main_class" value="com.example.ExampleRobot" /> <!-- 生成する JAR ファイルの名前(拡張子は不要) --> <property name="jar_name" value="example_robot" /> <!-- ソースコードの文字エンコーディング --> <property name="src_encoding" value="UTF-8" /> <!-- ターゲット一覧 --> <target name="init"> <mkdir dir="${target}/classes" /> </target> <target name="compile" depends="init"> <javac srcdir="${java_src}" destdir="${target}/classes" bootclasspath="${lejos_home}/lib/classes.jar;${lejos_home}/lib/rcxrcxcomm.jar" encoding="${src_encoding}" target="1.1" source="1.3" /> </target> <target name="jar" depends="compile"> <manifest file="${target}/MANIFEST.MF"> <attribute name="Main-Class" value="${main_class}" /> </manifest> <jar destfile="${target}/${jar_name}.jar" basedir="${target}/classes" includes="**.class" manifest="${target}/MANIFEST.MF" compress="false" index="false" /> </target> <target name="clear"> <delete dir="${target}" /> </target> </project>
プロジェクト名(project 要素の name 属性)や各種プロパティは、開発環境に応じて設定してください。
なお、このビルドファイルはプロジェクトディレクトリのトップに置いてください。
ビルドが成功すると、生成されたJAR ファイルが、<プロジェクトのトップディレクトリ>/<ビルド結果を格納するディレクトリ> 内に出力されています。
ビルドファイルのファイル名を「build.xml」としておくと、プロジェクトのトップディレクトリで次のコマンドを実行するだけで JAR ファイルが生成されます。
> ant
次のように clear ターゲットを実行すると、ビルド結果を格納するディレクトリを削除します。
> ant clear
参考文献
PR
●この記事にコメントする
忍者ブログ [PR]