Javaコラム Javaエンジニアのためのお役立ちコラム

IT

LinuxでJavaを実行するには?JARファイルの作成について

2021年03月17日
SE
LinuxでJavaを実行するにはどうすれば良いのでしょうか。
PM
まずはJavaのインストールが必要です。具体的な方法などについて解説しますので、一緒に見ていきましょう。

LinuxでJavaを実行するには


LinuxでJavaを実行するにはJavaがインストールされていなければなりません。それを確かめるには次のコマンドをシェルに打ち込んでください。

そして例えば次のように出力されればJavaはインストールされています。

OSの環境

環境は次の通りです。

Javaプログラム

JavaプログラムはWindowsでもLinuxでもmacOSでも全てのプラットフォームで実行可能で、javacツールでjavaファイルをコンパイルするとバイトコード(中間コードともいいます)のclssファイルが生成されます。

Javaプログラムを実行するには次のようにします。

LinuxにおいてJavaでHello world!

それではLinuxにおいてJavaでプログラミングを学ぶときのお決まりのHello world!の出力を行いましょう。エディタは何でもいいのですが、Linuxにvimがインストールされているとします。プログラムは次の通りです。

これを次のように保存します。

コンパイルと実行

Linux環境でもjavaファイルのコンパイルはjavacでコンパイルします。コンパイル時はroot権限で行ってください。

コンパイルするとバイトコードのclassファイルが生成されます。

バイトコードを実行します。

これでHello world!を表示させるプログラムは完了です。

引数を渡す

ここでは実行時に引数を渡します。App.javaファイルを以下のように修正します。

先と同じようにコンパイルします。そして、バイトコードを実行しますが、その時に引数を渡します。

引数のAnne、Ben、Carolが渡されて出力されています。

他クラスの利用

プログラム内で他クラスにアクセスします。新たにHumanクラスをApp.javaファイルとは別に作ります。Human.javaファイルのソースコードは次の通りです。

Appクラスも以下に書き換えます。

Humanクラスをインスタンス化し、Humanクラスの関数introduceMyself()を呼び出しています。これらを次のようにコンパイルします。

すると、App.javaとHuman.javaが一緒にコンパイルされていることが分かります。

次のようにバイトコードを実行すると確かにHumanクラスが利用されていることが分かります。

パッケージ

各クラスにパケージ名をつけると別階層のjavaファイルでも同階層にあるのと同じようにコンパイルができて、実行ができます。階層は次の通りです。

Human.javaはlibディレクトリにありますので、Human.javaのパッケージは次のように付与されます。

App.javaには次のようにパッケージが付与されます。また、Humanクラスをimportしなければなりません。

そして、App.javaを次のようにコンパイルします。すると、バイトコードが次のように生成されます。

そして、次のようにプログラムを実行します。

JARファイルの作成

生成したclassファイルをjarファイルにまとめるということを行います。javaファイルはjarファイルに含めませんので、srcディレクトリに次のようにまとめます。

パッケージ起点がsrcディレクトリでない場所でコンパイルする場合は-sourcepathオプションでコンパイルする場所を指定しなければなりません。

classesディレクトリが作成され、その下にパッケージと同じ階層にclassファイルが生成されていることが確認できます。バイトコードを実行するとき-classpathオプションをつけなければなりません。

JARファイル作成

いよいよjarファイルを作成しますが、jarファイル作成にはmanifestファイルが必要になります。manifest.mfファイルを作成します。manifest.mfには次のように書き込みます。最後に1行空けないとmanifestファイルとして認識しませんので、ご注意願います。

manifest.mfファイルが作成できたならば、jarコマンドでjarファイルを作成します。

jarファイルにmanifestファイルとclassファイルが含まれていることが確認できます。それではjarファイルを使ってプログラムを実行してみます。

SE
LinuxでJavaを実行する方法などがよく理解できました。
PM
やり方が理解できたら、実際にソースコードを書いてみましょう。

実際にコードを書いて実践しよう

LinuxでJavaを実行するのに、お決まりのHello world!の出力からjarファイルの作成までを見てきました。実際に自分の手でコードを書いて実践してみてください。


Javaでのキャリアアップをお考えの方は、現在募集中の求人情報をご覧ください。

また、直接のエントリーも受け付けております。

エントリー(応募フォーム)