Posts

Showing posts with the label ant

antでzipを作成、ついでにファイル追加

antで作成したjarを実行に必要なファイルとかREADMEを付けて配布用にzipを作成。antは吊るしで入れっぱなしの状態で、zipにどのコマンドを使うだとかいう設定はしてない。タイムスタンプをzipファイル名に使おうと思ったので、<tstamp/>のおまじないを唱えて、${TSTAMP}と${DSTAMP}を取得。ant.project.nameでプロジェクトにセットした名前も取得。${jar.name}は定義済みの対象jarファイル。includesの中で、カンマか空白で羅列。 <target name="hogedistro" depends="jar"> <tstamp/> <zip destfile="for_hogedist/${ant.project.name}_${DSTAMP}_${TSTAMP}.zip" basedir="." includes="${jar.name}, ahoaho.jar, hoge.config, README.HOGE"/> </target> 参照元: Ant User Manual - コアタスク - Zip

java -jar hoge.jar で一発実行できるjarファイル

java -cp aaa.jar;bbb.jar hoge.Aho の代わりにhoge.Ahoを含んだhoge.jarを java -jar hoge.jar で一発起動させる場合、jarのマニフェスト内にMain-ClassとClass-Pathを指定する。しかもそれをAntから書き込んでやるには、antのビルドファイルの<jar>以下に <manifest> < attribute name="Main-Class" value="hoge.Aho"/> < attribute name="Class-Path" value="aaa.jar bbb.jar"/> </manifest> と入れてやれば動いた(aaa.jar、bbb.jarは実行時にカレントにあるものと想定)。参照先( Gallery lumber-mill - アプリケーションの配布 )によれば、<jar>タグのエレメントにmanifest="../hogehogedir/manifest.txt"として間接参照させるやり方もあるらしい。 …らしいとか動いたとかではマズいんだけど、 マニュアル は検索できなかったら読もうと思ってたんです。でももう事足りちゃったんです。 他参照先: Trouble 4:クラスパスに関する問題 (Q4-3, A4-3) Ant - てんぷらメモ, Jarファイルの作成 jarファイルの作り方(ytp.ne.jp) Jakarta ANTを使ってJava開発を楽する