ポートレットのデプロイとアップグレードについて

事象/ユースケース

ポートレットはどのようにデプロイしますか。
また、ポートレットのアップグレードはどのように行いますか。

解決策 / 提案

ポートレットのデプロイ:


ポートレットをデプロイする場合は、対象のポートレットを<Liferay_Home>/deployへ配置します。
Liferayが起動中であれば自動的にデプロイ処理が実行されます。

デプロイ時、拡張子によって配置先のディレクトリが変化します。
jar形式だった場合:<Liferay_Home>/osgi/modules
lpkg形式だった場合:<Liferay_Home>/osgi/marketplace

ポートレットのアップグレードと注意事項:

  • アップグレード
    ポートレットのデプロイ時と同様、対象のポートレットを<Liferay_Home>/deployへ配置します。
    基本的に、アプリケーションサーバーを停止する必要はありません。
  • 注意事項
    ポートレット名が既存と新規で別名の場合、デプロイ後にポートレットIDが重複しているとエラーが発生することがあります。
    ポートレット名を同名にする事で上書きインストールとなりますので、エラーを回避できます。

エラーとなってしまった場合、デプロイ済みモジュールの削除が必要です。
拡張子に合ったディレクトリを参照し、不要なモジュールを削除してください。


例)
既存ポートレット名:XXX.portlet-1.0.0.jar
新規ポートレット名:XXX.portlet-1.0.1.jar
発生が予想されるエラー:

ERROR [fileinstall-/liferay/osgi/modules][PortletTracker:153] Portlet id XXX is already in use

トラブルシューティングの手順:

  1. <Liferay_Home>/osgi/modules または <Liferay_Home>/osgi/marketplace から、不要なポートレットを削除
  2. ポートレットを再デプロイ

上記手順で解決しない場合は、次の手順をお試しください。

  1. Liferayを停止
  2. <Liferay_Home>/osgi/modules または <Liferay_Home>/osgi/marketplace から、不要なポートレットを削除
  3. <Liferay_Home>/osgi/state を削除
  4. <Liferay_Home>/work を削除
  5. <Liferay_Home>/deploy へポートレットを配置
  6. Liferayを起動
この記事は役に立ちましたか?
0人中0人がこの記事が役に立ったと言っています