TITLE:AntのJarタスクで実行可能なJarファイルの作成
#navi(../)
*AntのJarタスクで実行可能なJarファイルの作成 [#e68e625a]
>編集者:[[Terai Atsuhiro>terai]]~
作成日:2003-09-25~
更新日:&lastmod;

#contents

**概要 [#q989a75a]
Antを使って、Windows環境などでダブルクリックすると起動するJarファイルを作成します。

**サンプルターゲット [#f0c358aa]
#code{{
<target name="package" depends="compile">
 <echo message="Creating the jar file ${build.dir}/${name}.jar"/>
 <tstamp>
  <format property="ts" pattern="yyyyMMdd-HHmmss-z"/>
 </tstamp>
 <jar jarfile="${build.dir}/${name}.jar" basedir="${build.dest}">
  <manifest>
   <attribute name="Main-Class" value="${main.class}"/>
   <attribute name="Class-Path" value="${runtime.classpath}"/>
   <attribute name="Implementation-Title"   value="${Name}"/>
   <attribute name="Implementation-Version" value="${version}"/>
   <attribute name="Implementation-Vendor"  value="${vendor}"/>
   <attribute name="Build-Id"
    value="${ts} (${user.name} [${os.name} ${os.version} ${os.arch}])"/>
  </manifest>
 </jar>
</target>
}}
-[[JToolBarでアイコンボタンを右寄せ>Swing/ToolBarLayout]]
--http://terai.xrea.jp/swing/toolbarlayout/src.zip

**解説 [#n5babbd3]
[[Swing]]以下のsrc.zipなどで、サンプルをダウンロードすることができます。

${main.class}、${runtime.classpath}などのプロパティは、config 以下にある、%%''build.properties''%% ''properties.xml''ファイルを編集して環境に合わせて修正してください。%%サンプル中のbuild.xmlでは、コンパイルや実行に必要なjarファイルがあれば、libフォルダ以下に置いておくと自動的にクラスパスに追加されます。%%
 #build.propertiesファイル
 #メインクラス(jarファイルのマニフェストに使用)
 main.class=example.MainPanel
 #クラスパス(jarファイルのマニフェストに使用、区切りは半角スペース)
 runtime.classpath=. lib/test.jar hoge.jar

%%このサンプルでは、src\javaフォルダ以下にShift_JIS(Windows-31J)のソースファイルを置いて使用します。%%

以下のように、packageターゲットでantを実行すると、jarファイルが作成されます。

 ant package

Antを使わない場合は、以下のようなmanifest.txtを作って、
 Main-Class: demo
 Class-Path: SampleLib.jar

以下のように、jar.exeで作成します。
 > jar cvfm hogehoge.jar manifest.txt demo.class

ただ、マニフェスト・ファイルを手で書くと、:の後には半角スペースが必要だったり、最終行末に改行がないとおかしくなるなど、いろいろ面倒があるみたいです。

//*参考リンク
**コメント [#fa161f0a]
#comment