20.8 注意事項
パッケージ名変更機能の注意事項を次に示します。
-
パッケージ名変換機能は,Jakarta EE 9対応のアプリケーションに対応しています。Jakarta EE 10はサポートしていません。このため,Jakarta EE 10に対応したアプリケーションをパッケージ名変換機能で変換しても動作しない場合があります。
-
Jakarta EE APIのjarファイルをアプリケーションに含まないでください。パッケージ名変換機能は,クラスファイルの中に定義されているjakartaパッケージを変換しますが,クラスファイルそのものは変換しません。
-
cosminexus.xmlの/cosminexus-app/ref-libraries/classpathに指定したjarファイルは,パッケージ名変換機能ではクラスロード時に変換されます。JSPから参照する場合,JSPコンパイルの時点では変換前のjarファイルを参照するため,JSPコンパイルでエラーになることがあります。この場合,アプリケーションにjarファイルを含めてください。または,add.class.pathに追加してください。
-
アプリケーションサーバのプロセス上でだけ,パッケージ名変換機能を使用できます。そのため,サービスプロバイダを利用したWebSocketやJAX-RSなどのアプリケーションは,アプリケーションサーバのプロセス上でだけ動作します。Javaクライアントのプロセス上では,パッケージ名変換機能が使用できないため,WebSocketやJAX-RSなどのアプリケーションは動作しません。
-
処理のロジック上でパッケージ名を組み立てている場合,パッケージ名変換機能では変換されません(例:"jakarta" + "." + "servlet.http.HttpSession")。
-
xmlやpropertiesなどのテキストファイルのパッケージ名変換では,コメントなども置換されます。
-
展開ディレクトリ形式のアプリケーションのインポート時,パッケージ名変換機能を有効にすると,展開ディレクトリ先のテキストファイルやクラスファイルが,パッケージ名変換機能で書き換えられます。このため,展開ディレクトリ形式でパッケージ名変換機能を使用する場合,展開ディレクトリ先をバックアップしてください。
-
パッケージ名変換機能での展開ディレクトリ形式のアプリケーションのリロードでは,展開ディレクトリ先のファイルをインポート時には変換しますが,リロード時には変換しません。
-
パッケージ名変換機能での展開ディレクトリ形式のアプリケーションのリロードでは,クラスローダにロードされる時にクラスを変換しますが,クラスファイル自体は変換されません。また,テキストファイルも変換されません。例えばjspの場合,コンパイルされたクラスはクラスローダへのロード時に変換されますが,jspファイルとクラスファイル自体は変換されません。
-
パッケージ名変換機能は,リロード時にはファイル自体の変換をしません。例えばjspファイルの前提となるjarファイルが更新された場合,jspコンパイルでエラーになる場合があります。その場合は,アプリケーションをインポートし直してください。
-
ネイティブメソッド処理はパッケージ名変換機能の対象外です。