wrapper.java.classpath.<n> プロパティ群

対応バージョン :1.0.0
対応エディション :プロフェッショナル版スタンダード版コミュニティー版
対応プラットフォーム :WindowsMac OSXLinuxIBM AIXFreeBSDHP-UXSolarisIBM z/OSIBM z/Linux

このプロパティには、利用する Java クラスパスを設定します。 これには、「jar」ファイルだけでなく、クラスファイルを含むディレクトリも含めることができます。

注意

Wrapper ver. 3.5.55より前のバージョンの場合、このリストには「wrapper.jar」ファイルが含まれている必要があります。

Wrapper ver. 3.5.55 より、「wrapper.jar」ファイルへのパスを示すには、 [wrapper.jarfile]プロパティを使用することが推奨されます。

<n>」コンポーネント部:

各要素は「プロパティ名」を持ち、その名前は [wrapper.java.classpath.]で始まり、 プロパティ名の「<n>」コンポーネント部には、 「1」からカウントアップしていくインテージャー(整数値)のナンバリング数値を入れて指定します。 デフォルトでは、連番であり欠番で飛ぶことはないはずです。 [wrapper.ignore_sequence_gaps]プロパティで、シーケンス内で ギャップ(途切れ)検索を「許可する/許可しない」を任意に設定にすることができます。

設定例:
wrapper.java.classpath.1=../lib/myapp.jar
wrapper.java.classpath.2=../lib/mysql.jar
wrapper.java.classpath.3=../classes

もしクラスパスエントリー内部でワイルドカード文字を利用する場合には、 該当する全てのファイルがクラスパスへ追加され、JVM インスタンスを起動するときに利用されます。

有効なワイルドカード文字は次のとおりです。

  • 「 [*] 」文字は、「0 (ゼロ)」や複数文字が該当します。
  • 「 [?] 」文字は、キッチリ1文字に該当します。

ソート(並び替え):

Wrapper ver. 3.3.8 から、 Wrapper は、ワイルドカード文字を含む個別のクラスパスプロパティが該当する 「jar」ファイルリストをソート(並び替え)します。 これは、アプリケーションのインストール全てにおいて、 正確に同じクラスパスが使われていることを確認するために実施されます。 通常は、これは問題になりませんが、しかしながら時折、リソースファイルやクラスが、 1つ以上のjarで重複していることがあります。 jarの順番をコントロールすることで、 同じバージョンが常に利用されている、という保証になります。

設定例:
wrapper.java.classpath.1=../lib/*.jar
wrapper.java.classpath.2=../classes

環境変数を利用する:

もし、Wrapper のクラスパスの一部として、システムによって定義されたクラスパスを含めたい場合には、 適切な環境変数を参照することで解決できます。 その結果となる「wrapper.conf」ファイルは、 なおもクロスプラットフォーム互換であり続けることができます。 なぜならば、含まれているクラスパスのパスセパレーターは、現在のプラットフォームに対して常に 正しいからです。

環境変数を利用した設定例:
wrapper.java.classpath.1=%CLASSPATH%

問題?

もしクラスパスに関連する問題に遭遇した場合には、まず最初にするべきことは、 Wrapper によって生成された完全なフルクラスパスを確認することです。 そうするためには、 [wrapper.debug] プロパティを使ってデバッグのログ出力を有効にするか、 [wrapper.java.command.loglevel] プロパティを使って Java コマンドの表示を有効にしてください。

注意

スペースを含むクラスパスエントリー:

Wrapper では、スペース(空白)を含むクラスパス要素を正しく取り扱います。 最終の生成されたクラスパスを引用符で囲むことで Wrapper が自動的に処理します。 個別のクラスパス要素のプロパティ値は、スペース(空白)を含んでいても 引用符を含む定義をするべきではありません。

注意

Windows では、コマンドラインの最大長は 32767 文字です。 これは OS レベルの制限であり、回避することはできない。 この制限に非常に近い場合は、「wrapper.java.classpath.use_environment」変数を試すことができます。 しかし残念なことに、Windows には独自の制限もあります。

参照: クラスパスとモジュールパス