Liferay Workspace
ご覧のページは、お客様の利便性のために一部機械翻訳されています。また、ドキュメントは頻繁に更新が加えられており、翻訳は未完成の部分が含まれることをご了承ください。最新情報は都度公開されておりますため、必ず英語版をご参照ください。翻訳に問題がある場合は、 こちら までご連絡ください。

ジャカルタへのアップグレード

Liferay DXP 2025年第3四半期以降 / ポータル 2026年第1四半期以降

Liferay は、DXP 2025 Q3 および 2026 Q1 Portal リリースから Jakarta EE に移行し、エンタープライズ Java の未来へと踏み出しました。 これにより、Liferay (およびユーザー) は、企業向けに設計された最新のアプリケーション サーバーと最新のライブラリを使用できるようになります。 これらおよび将来のリリースはすべて Jakarta ベースであるため、古い javax パッケージを使用するコードがある場合は、そのコード—、特にその依存関係—を変更して、新しい Jakarta プラットフォームを使用する Liferay のバージョンで実行する必要があります。

幸いなことに、ほとんどの場合、プロセスは簡単でわかりやすく、Liferay はユーザーを支援するツールを提供しています。 Liferay Workspace と Blade は、プロジェクトを Jakarta にアップグレードするのに役立ちます。

Liferay プロジェクトをアップグレードして Jakarta を使用するには、次の 4 つの手順があります。

  1. ワークスペースと依存関係を更新する

  2. REST Builder プロジェクトを更新する (ある場合)

  3. 各プロジェクトでLiferay Jakartaアップグレードツールを実行します。

  4. サードパーティの依存関係を Jakarta の対応するものに置き換える

ステップ1: ワークスペースを更新する

ポートレットなどの Java ベースの Web アプリケーションは、 javax 名前空間から jakarta 名前空間に移動されたパッケージに依存しています。 Liferay Workspace はこれらの更新の多くを自動的に行うことができますが、最新の Workspace を使用する必要があります。

settings.gradleを編集することで、Workspace のバージョンを設定できます。

  1. ワークスペースのルートで、テキスト エディターで settings.gradle を開きます。

  2. バージョンを少なくとも 14.0.0 に設定します。

    dependencies {
      classpath group: "com.liferay", name: "com.liferay.gradle.plugins.workspace", version: "14.0.0"
    }
    
ヒント

Workspace が最新バージョンを使用するように構成することもできます。

dependencies {
  classpath group: "com.liferay", name: "com.liferay.gradle.plugins.workspace", version: "latest.release"
}

次に、ターゲット プラットフォームを Liferay の Jakarta ベースのバージョンに更新します。

  1. ワークスペースのルートで、 gradle.propertiesを開きます。

  2. バージョンを、対象とする Jakarta ベースのリリースに設定します。少なくとも 2025.q3.0 に設定します。

    liferay.workspace.target.platform.version=2025.q3.0
    

プロジェクトを更新できるようにワークスペースが構成されています。

ステップ2(オプション):REST Builderプロジェクトの移行

ワークスペースに REST Builder プロジェクトがある場合は、Jakarta 用に再構成する必要があります。

  1. rest-config.yaml ファイルで、Jakarta 名前空間を使用するように指定します。

    javaEEPackage: "jakarta"
    

    例えば、

    
    apiDir: "../headless-r3b2-api/src/main/java"
    apiPackagePath: "com.acme.headless.r3b2"
    application:
       baseURI: "/headless-r3b2"
       className: "HeadlessR3B2Application"
       name: "Liferay.Headless.R3B2"
    author: "Jonah the son of Amittai"
    clientDir: "../headless-r3b2-client/src/main/java"
    testDir: "../headless-r3b2-test/src/testIntegration/java"
    javaEEPackage: "jakarta"
    
  2. RESTビルダーを実行する:

    blade gw buildREST
    

ステップ3: Jakartaアップグレードツールを実行する

Workspace には、コードを調べて Liferay が認識している依存関係 (つまり、Liferay に同梱されているもの) を javax から jakartaに変換できる Jakarta アップグレード ツールが含まれています。 これはプロジェクトを Jakarta にアップグレードするのに大いに役立ちますが、次の点に注意してください。

  • このツールはプロジェクト ファイルを直接変更します。

  • ツールを実行した後、手動で更新する必要がある参照の欠落がないかコードを確認する必要があります。

Workspace が最新になったら、Jakarta アップグレード ツールを実行します。

警告

Jakarta アップグレード ツールは、一般的な javax 参照に加えて、ポートレット コードを Jakarta Portlet 4.0 にアップグレードします。 コード参照を手動で更新する場合は、 Jakarta Portlet 4.0 アップグレードの変更内のすべての参照も更新する必要があります。

  1. プロジェクトのディレクトリのルートにある CLI にドロップします。

  2. Jakarta アップグレード ツールを実行します。

    blade gw upgradeJakarta
    

ツールは、Gradle、 bnd.bnd、および Java ファイル内で見つかったすべての javax 参照を適切な jakarta 参照に置き換えました。 これは、Liferay が認識している依存関係を処理します。 これらさえ揃えば、テストの準備は完了です。 プロジェクトをコンパイル、デプロイ、テストして、期待どおりに動作することを確認します。 一部の Jakarta API は、対応する javax の API と異なる場合があることに注意してください。 そのような場合には、申請書を調整する必要があります。

ただし、Liferay に同梱されていないサードパーティの .jar に依存している場合は、それらの依存関係を修正するためにさらに作業を行う必要があります。

Jakarta ポートレットのアップグレードの変更

Jakarta アップグレード ツールを実行してコード参照を Jakarta にアップグレードすると、ポートレット コードも Portlet 3.0 から Jakarta Portlet 4.0 にアップグレードされます。 ツールを実行しない場合、コード内のこれらの参照を手動で更新する必要があります。

Jakarta アップグレード ツールは、次のポートレット参照を変更します。

Javax ポートレット 3.0ジャカルタ ポートレット 4.0ファイルコンテキスト
javax.portlet.*jakarta.portlet.*パッケージ名
javax.portlet.version=3.0jakarta.portlet.version=4.0@Component プロパティ
<web-app version="3.0" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"><web-app version="6.0" xmlns="https://jakarta.ee/xml/ns/jakartaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://jakarta.ee/xml/ns/jakartaee https://jakarta.ee/xml/ns/jakartaee/web-app_6_0.xsd">web.xml (サーブレット6.0に切り替える)
<web-fragment version="3.0" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-fragment_3_0.xsd"><web-fragment version="6.0" xmlns="https://jakarta.ee/xml/ns/jakartaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://jakarta.ee/xml/ns/jakartaee https://jakarta.ee/xml/ns/jakartaee/web-fragment_6_0.xsd">fragment.xml (サーブレット 6.0 に切り替える)
<taglib version="2.1" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-jsptaglibrary_2_1.xsd"><taglib version="3.0" xmlns="https://jakarta.ee/xml/ns/jakartaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://jakarta.ee/xml/ns/jakartaee https://jakarta.ee/xml/ns/jakartaee/web-jsptaglibrary_3_0.xsd">タグライブラリモジュール

ステップ4: サードパーティの依存関係を置き換える

プロジェクトをコンパイルしてテストするための最後の手順は、Jakarta アップグレード ツールで置き換えることができなかったサードパーティの .jar を、対応する Jakarta のものに置き換えることです。 ここで、Liferay は、続行方法に関するガイダンスのみを提供します。 実行できる手順は 2 つあります。最初の手順は推奨されサポートされていますが、2 番目の手順はサポートされていない最後の手段です。

  1. 古い javax バージョンの代わりに、Jakarta 固有のバージョンの .jar を使用します。 それが不可能な場合は、代替手段を見つけて、それを使用するようにコードを変更します。

  2. 依存関係に適した Jakarta の代替がない場合は、 Eclipse Transformer を使用して、 javax クラスに依存する .jar を、名前が変更された Jakarta パッケージに準拠するように変更します (サポートされていませんが、機能する可能性があります)。

古くなった瓶をジャカルタの同等品に置き換える

必要な .jar には Jakarta 固有のバージョンがある可能性があります。 その場合、唯一の手順は、プロジェクト内でそれを置き換えて、インポートと API 呼び出しが機能することを確認することです。 これは、ビルド スクリプト内の依存関係を変更するのと同じくらい簡単な場合があります。

たとえば、 Log4j には、次の依存関係を持つ、これまで使用していた可能性のあるレガシーの javax バージョンがあります。

runtimeOnly "org.apache.logging.log4j:log4j-web"

Jakarta バージョンにアップグレードするには、Jakarta バージョンを宣言し、Java コード内のインポートを修正するだけです。

runtimeOnly "org.apache.logging.log4j:log4j-jakarta-web"

これまで使用していた .jar のドキュメントをチェックして、Jakarta ベースの代替が利用可能かどうかを確認してください。 利用できるものがない場合は、他の選択肢がいくつかあります。 .jar を、同様の機能を提供し、Jakarta もサポートする別の .jar に置き換えるのが最善かもしれません。 このオプションでは、新しい機能を使用するためにアプリケーションを適応させる必要がありますが、将来もアプリケーションが保護されます。

これが不可能な場合でも、別の選択肢が 1 つあります。 サポートされていませんが、最後の手段として機能する可能性があります。

Eclipse Transformer を使用してバイナリ Jar ファイルを変更する

最後のオプションは、 Eclipse Transformer を使用して、バイナリ .jar ファイルを変更し、Jakarta をサポートすることです。 これは、メンテナンスされておらず、ソース コードがない .jar を使用する場合にのみ実行してください。

これは、他のすべての選択肢が除外された場合の最後の選択肢になるはずです。 Liferay は、変換された .jar によって生じる問題をサポートしません。また、元の .jar のプロバイダーもサポートしません。

これらの警告にもかかわらず、Eclipse Transformer を使い続けたい場合は、Liferay が提供する 2 つのプロパティ ファイルを使用する必要があります。これらのファイルは、GitHub からダウンロードできます。

  1. 上記のリンクから Eclipse Transformer をダウンロードしてください。

  2. Transformer は .jar ファイルとして出荷されており、使用するには解凍する必要があります。 .jar ファイルを専用のフォルダーに解凍します。

  3. 上記の 2 つのプロパティ ファイルを新しい Transformer フォルダーにダウンロードします。

  4. 変換したい .jar ファイルを同じフォルダーにコピーします。

  5. このフォルダーに CLI をドロップします。

  6. 変換する .jar ファイルの名前を [name] に置き換えて、次のコマンドを実行します。

    java -jar org.eclipse.transformer.cli-1.0.0.jar --renames ./liferay-jakarta-renames.properties --versions ./liferay-jakarta-versions.properties ./[name].jar ./[name]-transformer.jar
    

.jar が変換されます。 それが機能するかどうかは、アプリケーションでテストする必要があります。 Liferay は、このように変換された .jar を含むアプリケーションをサポートできないことに注意してください。

Liferay は、ジャカルタへの移行プロセスをできるだけスムーズかつ簡単にするために、さまざまな努力を重ねてきました。 これらのツールは、将来に向けたアプリケーションの準備に大いに役立ちます。