■ Jarコマンド
* Jarファイルを作成するためのJarコマンドは、JDKに用意されている
構文
* 最後のドット必要ですjar 【Jarコマンドのオプション】 【圧縮したいJarファイル名】 -C 【圧縮する対象ディレクトリ】 .例
jar cvf XXXX.jar -C C:\test\ .
Jarコマンドのオプション
* c : アーカイブを新規作成する * t : アーカイブの内容を一覧表示する * x : 指定の(またはすべての)ファイルをアーカイブから抽出する * u : 既存アーカイブを更新する * v : 標準出力に詳細な出力を生成する * f : アーカイブファイル名を指定する * m : 指定のマニフェストファイルからマニフェスト情報を取り込む * O : 格納のみ.ZIP 圧縮を使用しない * M : エントリのマニフェストファイルを作成しない * i : 指定の jar ファイルのインデックス情報を生成する * C : 指定のディレクトリに変更し,以下のファイルを取り込む
参考資料
http://shot.nobody.jp/java_basic/jar.html#compress■ Jarファイル作成方法
Jarコマンドで生成する手順(Eclipseを使用しない方法)
[1] コマンドプロンプトで、コンパイルし、クラスファイルを作成する# Javaをコンパイル javac *.java[2] Jarファイルとして、まとめる
# Jar作成 # 構文 : jar [オプション] [Jarファイル名(任意)] [Jarにする対象ファイル] jar cvf Sample.jar *.class[3] Jarファイルを解凍する(META-INF\MANIFEST.MFができる)
jar xvf Sample.jar[4] マニフェストファイル(MANIFEST.MFファイル)の修正
* マニフェストファイル(MANIFEST.MFファイル)を、テキストエディタで開き、 最後の一行に「Main-Class: Sample」を追記する[5] 作成したマニフェストファイルを加えて、jarファイルにまとめなおす
jar cvfm Sample.jar META-INF\MANIFEST.MF *.class[6] 実行するために、以下のコマンドする
java -jar Sample.jar Main
サンプル
SampleJar.javapackage com; public class SampleJar { public int add(int value1, int value2) { return value1 + value2; } }Main.java
package com; public class Main { public static void main(String[] args) { SampleJar jar = new SampleJar(); System.out.println("Result " + jar.add(2, 3) + " from jar"); } }フォルダ構成
C:\Sample + com + SampleJar.java + Main.javaコマンド
# 以下、コマンドプロンプトで実行する # Sampleまで移動 cd C:\Sample # Jarになるクラスをコンパイル javac com\SampleJar.java # jar作成 jar cvf SampleJar.jar com/*.class # Jarを使用するクラスをコンパイル javac -cp SampleJar.jar com\Main.java # Javaを実行 java com/Main
[2] Eclipseを使用する方法
2-a) JARファイルを出力する[1] パッケージを右クリック [2] メニューから エクスポート を選択 [3] [Java]-[JAR file]を選択し、「Next」ボタン [4] 「Jar file」にJarファイル名を入力し、「Finish」ボタン参考文献
http://sunjava.seesaa.net/article/57546363.html
2-b) Ant(build.xml)でJARファイルを出力する
http://www.hitachi.co.jp/Prod/comp/soft1/cosminexus/useful/tips/091204_eclipse-create-buildxml.html
http://husky.mydns.jp/huskysmemo/2010/02/jarbuildxml.html
[1] Eclipseで、[File]-[Export]-[General]-[Ant Buildfiles]を選択し、該当のプロジェクトを選択し 「build.xml」を自動生成する [2] 手順[1] の「build.xml」を修正する(内容は以下を参照のこと) ~~~~ <?xml version="1.0" encoding="UTF-8"?> <project name="javahelloant" default="jar" basedir="."> <property name="src.dir" value="src"/> <property name="classes.dir" value="classes"/> <property name="javadoc.dir" value="docs"/> <property name="jar.name" value="HollowWorld.jar"/> <property name="jar.dir" value="lib"/> <path id="class.path"> <fileset dir="${jar.dir}" includes="*.jar"/> </path> <target name="compile"> <mkdir dir="${classes.dir}"/> <javac debug="true" includeAntRuntime="true" srcdir="${src.dir}" destdir="${classes.dir}"> <classpath refid="class.path"/> </javac> </target> <target name="jar" depends="compile"> <jar jarfile="${jar.name}" basedir="${classes.dir}"/> </target> <target name="javadoc"> <mkdir dir="${javadoc.dir}"/> <javadoc destdir="${javadoc.dir}" classpathref="class.path"> <fileset dir="${src.dir}"/> </javadoc> </target> <target name="clean"> <delete dir="${classes.dir}"/> <delete dir="${javadoc.dir}"/> <delete file="${jar.name}"/> </target> </project> ~~~~ [3] 手順[2] で修正した「build.xml」を右クリックし、[Run As]-[Ant Build]を選択 ⇒すると、ビルドが成功すれば「lib」直下に「ObjectSizeFetcher.jar」ができるはず。参考文献
http://www.hitachi.co.jp/Prod/comp/soft1/cosminexus/useful/tips/091204_eclipse-create-buildxml.html
http://husky.mydns.jp/huskysmemo/2010/02/jarbuildxml.html