0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

jar_アーカイブの操作_メモ_20200811

Posted at

jar-アーカイブの操作

事前基礎知識

    ・アーカイブとは

      複数のファイルやフォルダを一つのファイルにまとめたもの

1.jarコマンドとは

  Windowsの実行プログラムは、通常はexeの拡張子を持った単一のファイルです。
  一方、Javaで開発された実行可能プログラムの姿は、複数のクラスファイル(.class)の集合です。

  このように「複数のクラスファイルの集合」という形式では、
  別の開発者に渡すときにファイルの受け渡し漏れなどの事故が発生する可能性もあります。
  筆者も開発現場で実際に細かくクラスファイルを分けてもらってということもありました。

  そこで、それらのファイル一式を1つにまとめるアーカイブ形式(事前基礎知識を参照)として、
  **JAR(Java Archive)**が定められています。

  JDKに標準添付されているjarコマンドを使えば、複数のクラスファイルやプロパティファイルなどを
  まとめて1つのJARファイルにしたり、逆にJARファイルの中身をもとのクラスファイルなどに展開したり
  できます。(図1)

図1
コメント 2020-08-11 114326.png

1.jarコマンドの基本的な使い方

  jarコマンドで通常行うのは
  「アーカイブの作成」「アーカイブの展開」「アーカイブ内容の閲覧」です。
  それぞれ下記のコマンドで実行します

  ・アーカイブの作成

     >jar -cvf JARファイル名 ファイルおよびフォルダ・・・

  ・アーカイブの展開
    
    >jar -xvf JARファイル名

  ・アーカイブ内容の閲覧

    >jar -tvf JARファイル名

  たとえば、Test1.classとTest2.classをまとめてTest.jarを作りたい場合、次のようなコマンドを実行します。

  >jar -cvf Test.jar Test1.class Test2.class

2.マニフェストファイル

  zipやlhaといったアーカイブ形式の圧縮ファイルを使ったことがある人はもちろんいるでしょう。
  実はJAR形式はzip形式とほとんど同じようなものです。
  (JARファイルの拡張子をzipに書き換えると、zipファイルを展開するソフトで問題なく展開することができます)

  ただしJARファイルには、アーカイブ内に含まれる様々なファイルに関する追加情報を記述した
  マニフェストファイルを含めることが一般的です。

  マニフェストはテキストファイル形式であり、アーカイブ内のMETA-INFフォルダ中の
  MANIFEST.MFという名前で格納する決まりになっています。

3.JARファイル利用のメリット

  ・ファイル領域の効率の良さ

    圧縮すれば必要なファイル領域が減って効率が上がる

  ・セキュリティ

    JARファイルは署名を施すことができるため、セキュリティ上の制限がある程度まで和らげることができる

間違っている知識などございましたら、ご教示いただけると幸いです。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?