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

Liferay Workspaceの設定

Liferay Workspace は使い方が簡単で、基本は 最初から 始めることで学ぶことができます。 もしあなたがプロジェクトを作成したり、コードをデプロイしたり、Dockerコンテナを使ったりしているのであれば、ここでの情報は必要ないかもしれない。 ただし、もっと掘り下げて、ワークスペースで実行できるすべてのことについて学びたい場合は、このサイトが有益となるでしょう。

Liferay Workspaceとバンドルされたプラグインの更新

Liferay Workspaceは、開発者の生産性を高めるために常に更新されており、ワークスペースを最新の状態にするのは簡単なプロセスです。

  1. Liferay のリポジトリにある Workspace のリリース にアクセスしてください。 バージョンは一覧表に表示されますので、必要なバージョン番号をメモしておいてください。

  2. ワークスペースのルートフォルダにあるsettings.gradleファイルを開きます。

  3. 依存関係ブロックで、リポジトリで見つけたバージョンでバージョンを更新します。 最新のリリースを維持したい場合は、バージョン番号の代わりにテキストlatest.releaseを指定してください。

     dependencies {
         classpath group: "com.liferay", name: "com.liferay.gradle.plugins.workspace", version: "[WORKSPACE_VERSION]"
     }
    
  4. ファイルを保存して閉じます。 アップグレードを実行するには、tasksのような任意のGradleコマンドを実行します。

    ./gradlew tasks
    

  これで、ワークスペースがアップグレードされました。

Liferayバージョンの更新

ワークスペースがコンパイルするLiferayのバージョンを更新することをお勧めします。 これは、単一のプロパティによって処理されます。

liferay.workspace.product=portal-7.4-ga132

プロパティの値を、コードを開発しているLiferayのバージョンに更新します。 その後、ワークスペースの依存関係が自動的に新しいバージョンに更新されます。

JDK 17または21を使用する

Liferay DXP 2024.Q2+/Portal GA120+

LiferayはJDK 17および21をサポートしています。 JDK 8はサポートが終了しており、JDK 11は非推奨となっています。

Liferay DXP 2024.Q3+/Portal GA129+

LiferayはJDK 17および21をサポートしています。 JDK 11のサポートは削除されました。

JDKでコンパイルした場合は、同じJDKで実行する必要があります。 Workspaceに変更を加える前に、アプリケーションサーバーが新しいJDKで動作していることを確認してください。

前提条件: 古いバージョンのワークスペースを使用している場合は、次の2つをアップグレードする必要があります。

  1. Gradleをバージョン8.5にアップデートしてください。

  2. ワークスペースのバージョンを10.1.0以上に更新します(アップグレード手順については上記を参照)。

Gradleをアップグレードするには、ワークスペースのgradle/wrapper/gradle-wrapper.propertiesファイルを編集します。

distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-8.5-all.zip
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists

ワークスペースもアップグレードした場合は、liferay.workspace.product プロパティが設定されていることを確認してください。 blade init -lと入力すると、Blade CLIを使用してこのプロパティの現在のリストをいつでも取得できることを忘れないでください。

古いワークスペースをアップグレードした場合は、Liferay CDNがワークスペースのsettings.gradleファイルで宣言されていることを確認してください。

maven {
	url "http://repository.liferay.com/nexus/content/groups/public"
}

ここまでで、 これで、Liferayプロジェクトで最新のサポート対象JDKを使用する準備が整いました。 既存のプロジェクトがある場合は、追加の手順を踏む必要があります。

サービスビルダープロジェクト

古いワークスペースをサービスビルダープロジェクトでアップグレードした場合は、この構成をサービスビルダーの-serviceモジュールのbuild.gradleファイルに追加します。

tasks.withType(JavaCompile) {

	// Generated classes using Jodd library are unable to be read when compiled against JDKs after 8

	sourceCompatibility = JavaVersion.VERSION_1_8
	targetCompatibility = JavaVersion.VERSION_1_8
}

JAX-WSプロジェクト

JAX-WSプロジェクトがある場合は、JDK 11から削除されたjavax.xml.soapのクラスが必要です。 次に、それらを依存関係として手動で指定する必要があります。

compile 'com.sun.xml.ws:jaxws-ri:2.3.2'

ターゲットプラットフォームの管理

通常、Gradleの依存関係を定義するときは、次のようにそれらの依存関係のバージョンを提供する必要があります。

dependencies {
   compileOnly group: "javax.portlet", name: "portlet-api", version: "3.0.1"
   compileOnly group: "javax.servlet", name: "javax.servlet-api", version: "4.0.1"
}

Liferayのプラットフォームで作成されたアプリケーションはそのプラットフォームを対象としているため、Liferayでは、Liferayのバージョンを宣言し、Liferayから他の依存関係を継承することで、すべての依存関係を1回で簡単に指定できます。 そうすれば、上記のような混乱はありません。

対象プラットフォームはデフォルトで有効になっています。使用するために特別な操作は必要ありません。 現在、ほとんどの依存関係は次のようになっています。

dependencies {
	compileOnly group: "com.liferay.portal", name: "release.portal.api"
}

これにより、Liferayに付属するすべての依存関係がもたらされます。 何らかの理由で特定の依存関係を指定する必要がある場合でも、次の事ができます。

dependencies {
        compileOnly group: "com.liferay.portal", name: "release.portal.api"
        cssBuilder group: "com.liferay", name: "com.liferay.css.builder", version: "3.0.2"
}

Liferay DXP を指定するには、名前として "release.dxp.api" を使用します。

テスト依存関係の管理

Liferay Workspace 16.0.1 以降では、 統合テスト部品表 (BOM) を選択して、ターゲット プラットフォームからのテスト依存関係のバージョンを解決できます。 これは、 ターゲット プラットフォーム BOMと同じように機能しますが、 testImplementation および testIntegrationImplementation の依存関係に対して機能します。

Liferayは、統合テストの部品表(BOM)を四半期ごとのリリース分のみ公開しています。 四半期リリース以外のターゲットプラットフォームに対してこのプロパティを有効にすると、依存関係の解決に失敗します。

有効にするには、ワークスペースの gradle.properties ファイルにこのプロパティを追加してください。

liferay.workspace.use.test.boms=true

Liferay DXP ターゲット プラットフォームの場合、Liferay Workspace はターゲット プラットフォームのバージョンで com.liferay.portal:release.dxp.bom.test を解決します。Liferay Portal ターゲット プラットフォームの場合、 release.portal.bom.test を解決します。 BOM は、Arquillian JUnit ブリッジ、 com.liferay.portal.test および com.liferay.portal.test.integration モジュール、Liferay のパッチ適用済み Log4j アーティファクト、および bnd を含むテスト依存関係のバージョンを固定します。

BOMが解決したら、 build.gradle ファイルで管理対象のテスト依存関係を宣言する際にバージョン番号を省略してください。

dependencies {
    testIntegrationImplementation group: "com.liferay.portal", name: "com.liferay.portal.test.integration"
    testImplementation group: "com.liferay", name: "org.apache.logging.log4j"
}

管理対象の依存関係に対して解決された BOM のバージョンを確認するには、テスト構成を調べます。

./gradlew :modules:my-module:dependencies --configuration testImplementation

バンドルダウンロードタイムアウトの設定

CDNリポジトリのパフォーマンスを向上させるには、バンドルのダウンロードタイムアウトを長くすることができます。

downloadBundle {
    readTimeout 120 * 1000
}