-jar オプションとクラスパス

java を実行する際に -jar オプションを使用する場合は一つ気を付けなければならない事がある。


java のドキュメントの -jar に関する説明の最後には以下の一文がある。

このオプションを使用すると、指定した JAR ファイルがすべてのユーザクラスのソースになり、ユーザクラスパスのほかの設定は無視されます。


これはつまり、「-jar オプションを使用すると、オプションの -classpath環境変数 CLASSPATH で指定した設定は無効になりますよ」という意味だ。


-jar オプションを使用した場合、jar ファイルの中にあるマニフェストファイルに記述したクラスパスしか有効にならないので注意しよう。