文系seの備忘録

Excelの改行でひたすらスペースを打っていた機械音痴の文系seが日々の備忘録を綴る。

jarファイル作成

jarファイル
Javaのアーカイブファイル。(Java Archiveを縮めてjar)
複数のclassファイルを圧縮して1つのアーカイブにまとめるので

マニフェストファイル
  jarファイルについてかかれたファイル。
  バージョンや、jarファイルの作成に使用したツールが記述される。
  また、jarファイル作成時にテキストファイルを指定することで、
  そのテキストファイルの内容をマニフェストファイルに追記することができる。
  マニフェストファイルには、実行時にmain()メソッドを呼び出すクラスや、クラスパスを指定することができる。



以下、「とほほのjava入門」を参考にしながらjarファイルの作成を行う。

とほほのJava入門

複数のクラスから構成される Java プログラムをコンパイルすると、複数の *.class ファイルが作成されます。jar コマンドを用いてこれらを *.jar(Java ARchive)形式のファイルにまとめることができます。


1.複数のクラスをまとめるということで、まず初めにクラスを作成する。


・jarFileTestClass

jarTest

・GreetClass

GreetClass

jarFileTestClass,GreetClassという2つのクラスを作成。


コンパイルするとC:\pleiades\workspace\jarTestにファイルが作成された。
f:id:ron623:20150206122328p:plain
binには2つのclassファイルが作られた。



2.2つのクラスファイルをjarファイルにまとめる。

ホームページの例と同様、jarTest.jarという名前でjarファイルを作成。

コマンドプロンプトから以下コマンド実行。


jar_command


この時点でjarファイルを実行すると、Main-Classマニフェストをロードできないからエラー終了するらしい。
やってみた。


runWithoutMain

確かにエラーになった。
てかメインマニフェストってなんだし

jarファイルの中身

jarComponent

JarTest.jar を解凍。

makeMetaInf

META-INFファイルが作成された。
C:\pleiades\workspace\jarTest\bin\jarTest\META-INF

マニフェストファイルを開くと、、、

manifestFile

この一番下に「Main-Class: JarTest」を追加する。

作成したマニフェストファイルを加えてjarファイルにまとめる。

modManifestFile


今度は以下コマンドで成功するらしい
java -jar JarTest.jar JarTest


⇒ 結果
エラーになった。意味不明。。。。。。








エクリプスから作る。

パッケージエクスプローラ>エクスポート>いろいろ選択してって完了おす

⇒ 結果

jarファイル作れて実行も出来た。

C:\pleiades\workspace\jarTest>java -jar JarTest.jar
jar file test!
Hello!