Liferay Workspaceの設定
Liferay Workspace は使い方が簡単で、 の最初から始めることで基本を学ぶことができます。 問題なく プロジェクトを作成したり、 コードをデプロイしたり、 Docker コンテナーを使用したりしている場合は、ここでの情報は必要ありません。 ただし、もっと掘り下げて、ワークスペースで実行できるすべてのことについて学びたい場合は、このサイトが有益となるでしょう。
Liferay Workspaceとバンドルされたプラグインの更新
Liferay Workspaceは、開発者の生産性を高めるために常に更新されており、ワークスペースを最新の状態にするのは簡単なプロセスです。
-
Liferay のリポジトリにある Workspace のリリース に移動します。 バージョンがリストに表示されるので、必要なバージョン番号をメモしてください。
-
ワークスペースのルートフォルダにある
settings.gradleファイルを開きます。 -
依存関係ブロックで、リポジトリで見つけたバージョンでバージョンを更新します。 最新のリリースを維持したい場合は、バージョン番号の代わりにテキストlatest.releaseを指定してください。dependencies { classpath group: "com.liferay", name: "com.liferay.gradle.plugins.workspace", version: "[WORKSPACE_VERSION]" } -
ファイルを保存して閉じます。 アップグレードを実行するには、
tasksのような任意のGradleコマンドを実行します。./gradlew tasks
これで、ワークスペースがアップグレードされました。
Liferayバージョンの更新
ワークスペースがコンパイルするLiferayのバージョンを更新することをお勧めします。 これは、単一のプロパティによって処理されます。
liferay.workspace.product=portal-7.4-ga132
プロパティの値を、コードを開発しているLiferayのバージョンに更新します。 その後、ワークスペースの依存関係が自動的に新しいバージョンに更新されます。
JDK 17または21の使用
Liferay DXP 2024.Q2+/ポータル GA120+
Liferay は JDK 17 および 21 をサポートしています。 JDK 8 はサポートされておらず、JDK 11 は非推奨です。
Liferay DXP 2024.Q3+/ポータル GA129+
Liferay は JDK 17 および 21 をサポートしています。 JDK 11 のサポートは削除されました。
JDK でコンパイルする場合は、同じ JDK で実行する必要があります。 Workspace に変更を加える前に、アプリ サーバーが新しい JDK で実行されていることを確認してください。
前提条件: 古いバージョンのワークスペースを使用している場合は、次の2つをアップグレードする必要があります。
-
Gradleをバージョン8.5にアップデートする
-
ワークスペースのバージョンを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" を使用します。
バンドルダウンロードタイムアウトの設定
CDN リポジトリのパフォーマンスを向上させるには、バンドルのダウンロードのタイムアウトを増やすことができます。
downloadBundle {
readTimeout 120 * 1000
}