見出し画像

JavaSilverに向けて⑮ Javaコマンド javacコマンド jarコマンド

・javaコマンド


JVMを起動するためのコマンド。JVMは起動後、指定されたクラスをロードし、このクラスのmainメソッドを呼び出す。
クラス名の後に続ける引数の事を「起動パラメータ」、「コマンドライン引数」と呼ぶ。
起動パラメータは、スペースで区切って複数指定する事も可能だし、省略する事も可能。
  ー 基本
java [オプション] クラス名 [引数]
java [オプション] -jar ファイル名.jar
HelloWorldというクラスがあり、このクラスを実行する際には以下のようになる。
java HelloWorld
*Java11からjavacでクラス化しなくとも、以下のコマンドで実行できるようになった。
java HelloWorld.java
Hello.jarというjarがあり、太朗というパラメーターをセットする際は以下のようになる。
java -jar Hello.jar “太朗”
  ー 起動パラメータ
javaコマンドのクラス名やソースファイル名の後ろに、スペースを入れて記述する。
以下のコードであれば、「a b c」が起動パラメータである。
java Test.java a b c

javaコマンドの実行でJVMが起動されると、起動パラメータをmainメソッドの引数として渡す。
起動パラメータは、スペースで区切って書いていく必要がある。スペースを含む文字列をパラメータとして渡したい際は、ダブルクォーてションで囲む必要がある。
public class Test {
    public static void main(String… args) {
        for(String arg : args) {
            System.out.println(arg);
        }
    }
}
$java Test.java a b c
a
b
c
  ー クラスパスの指定
java -classpath クラスパス 実行するクラス
カレントディレクトリーの中のWordクラスがC:\lib中のクラスライブラリーSpellChecker.jarを利用するとする。
java -classpass .;C:\lib\SpellChecker.jar WordProcessor
*「;」で区切る。「.」はカレントディレクトリーを指す。

・javaコマンドで実行できるクラスとできないクラス


javaコマンドで実行した際に呼び出されるのは、「public static void main(String[])」である。
この「public static void main(String[])」がないクラスはjavaコマンドで実行する事ができない。

・javacコマンド


  ー 基本
javac [オプション]  ソースファイル
javacコマンドは、Javaのソースコード(.javaファイル)をコンパイルし、クラスファイル(.classファイル)を作成する。
javaコマンドと同じように、classpathや--module-pathなどのオプションがある。
上記で記したようにカレントディレクトリなどの指定の仕方はjavaコマンドと同じ。

・jarコマンド


クラスファイルをzip形式で圧縮した形式。Javaでアプリケーションを配布する際には、Jar形式でまとめたものを配布するのが一般的。
  ー オプション
-f:jarファイル名を指定する
-c:jarファイルを新規作成する
-t:jarファイルの中身を表示する
-x:jarファイルを展開する
-u:jarファイルを更新する
-v:コマンドラインに処理内容を表示する
-o:圧縮をしない
-m:マニフェストファイルを指定する
-M:マニフェストファイルを作成しない

・jarファイルの作成法


Test.javaというファイルがあったとする。
javac Test.java
でclassファイルを作成する。
jar -cvf Test.jar*.class
を実行すると、実行した内容がターミナルに表示されつつ、jarファイルが作成される。

・jarファイルの実行について


jarファイルを実行するにはマニフェストファイルが必要。マニフェストファイルを作成した後以下のコマンドを実行する。
jar -cvfm Test.jar Test.mf*.class
実行した結果がターミナルに表示され、新しいjarファイルが作成される。
上記のコマンドを実行した後、下記のコマンドを実行する事で、そのJavaファイルを実行する事ができる。
java -jar test.jar

・javadocコマンド


ソースファイルに記述されたドキュメンテーションコメントからAPIドキュメントを作成する。
-d パス:生成されたドキュメントを保存するフォルダー
-classpath パス:関連するクラスファイルの検索先
Methodというjavaファイルがあったとしたら、以下のコマンドでソースコードからコメントの情報を取得し、htmlというフォルダにHTML形式のドキュメントが作成される。
javadoc -d html Method.java
また、複数のソースコードをまとめてjavadoc化したい場合は、ファイル名を列挙するか「*.java」でできる。
javadoc -d html Method1.java Method2.java
javadoc -d html *.java

この記事が気に入ったらサポートをしてみませんか?