事象/ユースケース
ポートレットはどのようにデプロイしますか。
また、ポートレットのアップグレードはどのように行いますか。
解決策 / 提案
ポートレットのデプロイ:
ポートレットをデプロイする場合は、対象のポートレットを
<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
トラブルシューティングの手順:
<Liferay_Home>/osgi/modules
または<Liferay_Home>/osgi/marketplace
から、不要なポートレットを削除- ポートレットを再デプロイ
上記手順で解決しない場合は、次の手順をお試しください。
- Liferayを停止
<Liferay_Home>/osgi/modules
または<Liferay_Home>/osgi/marketplace
から、不要なポートレットを削除<Liferay_Home>/osgi/state
を削除<Liferay_Home>/work
を削除<Liferay_Home>/deploy
へポートレットを配置- Liferayを起動
会員限定記事
Liferay エンタープライズ サブスクリプションをお持ちのお客様は1500件を超えるベストプラクティス、トラブルシューティング、その他のソリューション記事を閲覧できます。ログインすると、記事全体をお読みいただけます。
ログイン