このチュートリアルでは、サーブレットベースのポートレットをアップグレードする方法を示します。 Sample JSON(project sample-json-portlet
)と呼ばれる、サンプルのサーブレットベースのポートレットをアップグレードする前後のコードを参照します。 ポートレットにはClick meリンクが表示され、 ユーザーがリンクをクリックすると、Liferayロゴが表示されます。
このチュートリアルを最大限に活用するには、オリジナルのサンプルポートレットのソースコードおよびアップグレードされたソースコードをダウンロードし、参照してください。
サンプルポートレットの特性は次のとおりです。
javax.servlet.HttpServlet
を拡張するサーブレットを使用して、リクエストを処理- JSPによって実装されたビューレイヤー
- JSONオブジェクトを使用してデータを処理
- マニュアルの依存関係管理に依存
- Liferay Portal 6.2が提供するサードパーティライブラリに依存
WEB-INF/lib
フォルダに追加の依存関係を埋め込む- LiferayプラグインSDK 6.2で開発
サーブレットベースのポートレットをアップグレードするには、Liferay Upgrade Plannerを使用して、コードをLiferay DXP 7.1のAPIに適合させます。 プランナーのアップグレードの問題の修復ステップを実行した時、既存の事象の多くが自動修正またはフラグ付けされました。 残りのエラーについては、記事Resolving a Plugin’s Dependenciesを参照してください。
LiferayのUpgrade Plannerは、新しいAPIの影響を受けるコードの特定、APIの変更とそれらに適合させる方法の説明、そして多くの事例でコードを自動的に適合させるオプションを提供します。
サンプルポートレットはLiferay Portalに依存して、いくつかの依存関係JARファイルを提供しました。 以下は、ポートレットのliferay-plugin-package.properties
ファイルからのportal-dependency-jars
プロパティです。
portal-dependency-jars=\
dom4j.jar,\
jabsorb.jar,\
json-java.jar
Liferay DXPがエクスポートするパッケージの使用方法については、こちらをご覧ください。 Liferay DXP 7.1のコアシステムは、上記の各依存関係JARから、このポートレットに必要なパッケージをエクスポートします。
アップグレードされたサンプルポートレットは、portal-dependency-jars
プロパティでこれらのJARを指定し続けます。 これらは、コンパイル時にポートレットで使用可能になります。 ただし、コンパイル時のパッケージがコアシステムのエクスポートされたパッケージと競合しないように、LiferayプラグインSDK 7.0はプラグインWARからJARを除外します。
次に、通常通りポートレットをデプロイします。
サーバーは、次のポートレット状態を示すメッセージを出力します。
- WAR processing
- WAB startup
- Availability to users
ポートレットはLiferayのOSGiランタイムにインストールされ、ユーザーが利用できるようになります。
これで、サーブレットベースのポートレットの、Liferay DXP 7.1へのアップグレードとデプロイが完了しました。
関連トピック