Documentation

Liferay Workspaceの設定

警告

Liferay Workspaceは使い方が簡単で、最初から始めることで、基本を学ぶことができます。 もしあなたが喜んで プロジェクトの作成 や [コードのデプロイ](./creating-code-with-liferay-workspace.md #deploying-code-via-liferay-workspace) 、あるいは Docker コンテナを使用しているなら、ここの情報は必要ないかもしれません。 ただし、もっと掘り下げて、ワークスペースで実行できるすべてのことについて学びたい場合は、このサイトが有益となるでしょう。

取り上げるトピックは次のとおりです。

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

  • 開発、UAT、および本番環境の使用

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

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

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

  1. Liferayのリポジトリにある ワークスペースのリリースに移動 します。 バージョンがリストに表示されます。必要なバージョン番号をメモしてください。

  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-ga55

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

JDK11の使用

注釈

JDK 11でコンパイルする場合は、JDK11で実行する必要があります。 ワークスペースに変更を加える前に、アプリサーバーでJDK11が実行されていることを確認してください。 LiferayのDockerイメージはデフォルトでJDK8を使用することに注意してください。 これをオーバーライドするには、-e JAVA_VERSION=zulu11環境変数を使用してDockerイメージを作成します。

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

  1. Gradleをバージョン6.6.1以上に更新します

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

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

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

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

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

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

これで、LiferayプロジェクトでJDK11を使用する準備が整いました。 既存のプロジェクトがある場合は、追加で必要な手順があります。

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

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

tasks.withType(JavaCompile) {

    // Generated classes using Jodd library are unable to be read when compiled against JDK 11

    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"
}