この記事はレガシー記事です。 Liferay製品の旧バージョンにも適用されます。 記事のメンテナンスは終了していますが、情報はまだ通用する可能性があります。
以下は、管理者がアップグレードを実行する際に経験した問題のリストであり、その根本的な原因と解決策を示します。
解決策
課題:
java.sql.SQLException: Invalid SQL statement or JDBC escape, terminating ''' not found.
原因:
この問題は、データベース内の文字がクエリーの実行を妨げているものである。 典型的には、データベースに対するSQLインジェクション攻撃の試みが原因となることがあります。 問題を解決するために
- この問題がアップグレードのどのステップで発生したかを判断する。
- このステップに関係するテーブルを確認します。
- データベースに問い合わせを行い、悪いデータをクリーンアップします。
例:
名前が '%. %' のような ResourceCode から削除する!
名前が '%script%' のような ResourceCode から削除;
名前が '%cat%' のような ResourceCode から削除;
名前が '%imgsrc%' のような ResourceCode から削除;
名前が '%frame%' のような ResourceCode から削除;
名前が '%meta%' のような ResourceCode から削除;
%ACU%' のような名前の ResourceCode から削除;
'%acu%' のような名前の ResourceCode から削除;
'%printf%' のような名前の ResourceCode から削除;
'%/%' のような名前の ResourceCode から削除;
'%%%' のような名前の ResourceCode から削除;
課題:
com.liferay.portal.kernel.upgrade.UpgradeException: java.sql.SQLException: Cannot insert duplicate key row in object 'dbo.ResourceCode' with unique index 'IX_#######'.
原因:
resourceActionId は、Portal 5.2 からそれ以降のバージョンの Liferay Portal へのアップグレード時に既に存在します。 これは、アップグレードでパーミッションの移行時にデータが不良になった結果です。
LPS-33364 修正が VerifyProcessにコミットされました。
もう一つ考えられる解決策は、アップグレードの前にPermissions Algorithm 5から6へのデータ移行を実行することです。
課題:
java.sql.SQLException: Invalid column name 'companyId'.
原因:
アップグレード中は、Liferay Portalの次のバージョン用の新しいテーブルとカラムが作成されます。 この例外は、アップグレード時にカラム名またはテーブルがすでに存在していた結果として発生します。 問題を解決するために
- ポータルのアップグレード版でどのテーブルが存在すべきかを確認する。
- これらのテーブルがレガシーデータベース内に存在しないことを確認する。
- これらのテーブルは基本的に予約されているため、アップグレード前は使用しないようにします。
課題:
イメージギャラリーの画像を表示できなくなりました。
原因:
Image Galleryポートレットはレガシーポートレットとなり、Liferay Portal 6.1 EE以降のバージョンでは削除されました。
- レガシーイメージギャラリーのプロパティを決定する(6.0以前)。
- これらのプロパティを upgrade
portal-ext.propertiesファイルに配置します。 - アップグレード中、イメージギャラリーの移行をトリガーし、新しいドキュメントとメディアポートレットにインポートする必要があります。
課題:
Liferay のアップグレードが ALTER TABLE の例外で停止する。
原因:
Liferay Portalの以前のバージョンでは、アップグレード処理中に、Liferay Portalが使用していないテーブルを含む、データベース内のすべてのテーブルを変更しようとします。
LPS-29479をご参照ください。
課題:
ホスト名の無効なプロパティの例外。
ERROR [BeanPropertiesImpl:480] jodd.bean.BeanException: Simple property not found: hostname Invalid property: 'AccountImpl#hostname' (actual:'AccountImpl#hostname', forced=false) jodd.bean.BeanException: Simple property not found: hostname Invalid property: 'AccountImpl#hostname' (actual:'AccountImpl#hostname', forced=false).
原因:
これは、以前に設定したバーチャルホストの設定が参照されなくなったことが原因です。
バーチャルホストの設定がポータルに合っていることを確認します。
課題:
ドックバーがない、ポートレットがないなど、ポータルの特定のセクションがレンダリングされない。
原因:
これは、ポータルのhtmlやテーマを直接変更するカスタマイズの結果である可能性があります。 これは、カスタマイズの登録解除が不適切だったことに起因する可能性があります。 これを解決するために
-
webapps/ROOT/html または webapps/ROOT/layouttplの下にあるHTML/Theme内の不足要素のファイルサイズとファイル名が適切であることを確認します。 - 純正品と交換し、まだ要素が足りないかどうかを検証します。
また、キャッシュがポータルのレンダリングに影響を及ぼしていないことも確認してください。
ウェブブラウザのキャッシュをクリアする
Internet Explorerのキャッシュを手動でクリアする場合:
http://support.microsoft.com/kb/260897
Google Chromeのデータを手動で消去する場合:
http://support.google.com/chrome/bin/answer.py?hl=en&answer=95582
Firefox のキャッシュを手動でクリアする場合:
http://support.mozilla.org/en-US/kb/clear-cache-delete-temporary-files-fix-issues
テンポラリフォルダとワークフォルダをクリア
temp と work のフォルダーを削除してください。 すべてのアプリケーションサーバーでこれらのフォルダが作成されるわけではありません。アプリケーションサーバーのドキュメントを参照してください。 サーバーを再起動する。アプリサーバーのキャッシュをクリアする
サーバー管理」設定の下にある
自分のVMにキャッシュされたコンテンツをクリアにする
クラスタ全体でキャッシュされたコンテンツをクリアする
データベースのキャッシュをクリアする。
課題:
起動時にテーマメッセージが見つからない。
原因:
これは、レガシーテーマがLiferayの新しいインスタンスに適切にマイグレーションまたはデプロイされなかった結果です。 これらのリファレンスは、カスタムレイアウトに添付することもできます。
Liferayの新しいインスタンス用にレイアウトとテーマを再構築し、再デプロイします。