モジュールをデプロイしてコンソールエラーや不可解な問題が発生した場合、厄介な事態を引き起こす可能性があります。デプロイメントの前にモジュールを解決することにより、この苦痛なプロセスを回避できます。これは、Liferay Workspaceが提供するresolve
Gradleタスクを呼び出すことで実現できます。
../gradlew resolve
このタスクは、以下によって提供されるすべての機能を収集します。
- 指定されたLiferay DXPのバージョン(つまり、ターゲットプラットフォーム)
- 現在のワークスペースのモジュール
resolve
タスクによって収集され、検証される機能/情報の一部には、以下のものが含まれます。
- 宣言された必須機能
- モジュールのバージョン
- パッケージのインポート/使用の制約
- サービスリファレンス
また、プロジェクトの実行要件のリストも算出します。次に、現在のプロジェクトの要件と収集された機能を比較します。収集された機能のリストにないものがプロジェクトで必要な場合は、このタスクは失敗します。
タスクはOSGiモジュールのみを検証できます。WARスタイルのプロジェクト、テーマ、またはnpmポートレットでは機能しません。
resolve
タスクは自動的にワークスペースから利用可能な機能を集めることができますが、ターゲットのLiferay DXPバージョン用にこれを指定する必要があります。これを行うには、ワークスペースのgradle.properties
ファイルを開き、liferay.workspace.target.platform.version
プロパティをターゲットのバージョンに設定します。例えば、
liferay.workspace.target.platform.version=7.1.0
Liferay DXPを使用している場合は、以下のようにプロパティを設定できます。
liferay.workspace.target.platform.version=7.1.10
DXPのGA1リリースに続くバージョンは、フィックスパックバージョン(例: 7.1.10.fp1
、7.1.10.fp2
など)に従います。
ターゲットプラットフォームのプロパティを設定すると、指定したLiferay DXPバージョンの静的なdistro JARが提供されます。これには、対象とするバージョンで実行されているすべてのメタデータ(つまり、機能やパッケージ、バージョンなど)が含まれています。distro JARは、OSGiランタイムで提供されるすべてを完全なスナップショットにしたものです。これは、モジュールを検証する対象プラットフォームの機能リストとして機能します。
これで、デプロイする前にモジュールプロジェクトを検証できるようになりました。場合によっては、resolve
アプリの検証を成功させるために、タスクのデフォルトの動作を変更する必要がある場合があります。詳細については、Modifying the Target Platform’s Capabilitiesのチュートリアルを参照してください。resolve
タスクによって出力される一般的な出力エラーの解決については、Resolving Common Output Errors Reported by the resolve Taskの記事を参照してください。