portal-ext.properties」のプロパティが反映されない場合のよくある原因

この記事は、 portal-ext.properties のプロパティが正しく動作しない場合の状況を文書化したものです。 また、 portal-ext.properties のプロパティが有効にならない一般的な原因について説明し、 portal-ext.properties で設定したプロパティが正しく実装されるように、ファイルの配置場所だけでなく、適切な設定方法についても解説しています。

解決策

1. 設定を保存する

コントロールパネルのユーザーインターフェイスで保存された設定は、データベースに保存されるため、 portal-ext.properties の設定よりも優先されます。

2. 正しいプロパティやバリューを入れない

Liferayプラットフォーム内のすべてのプロパティのリファレンスは、 portal.properties ファイルを見てみてください。 このファイルは、 portal-impl.jarの中にあります。 どのようなプロパティがあるかということに加えて、ほとんどのプロパティには、その機能や設定できる値についての説明があります。 また、Javadocsのページでは、 portal.properties をご覧いただけます:

3. portal-ext.propertiesを適切な場所に配置しない

portal-ext.properties は完璧に設定することができますが、ポータルが検出できる場所に配置されていなければ、効果を発揮することはできません。 portal-ext.propertiesを置く場所は2箇所あります:

  • $LIFERAY_HOME (ここで Liferay プラットフォームは /data, /logs, /deploy フォルダを作成します)
  • WEB-INF/classes

Liferayプラットフォームが起動すると、データベース接続の直前に読み込まれているプロパティファイルが表示されます。 このように表示されるはずです:

Loading jar:file:/root/liferay/tomcat-8.0.32/webapps/ROOT/WEB-INF/lib/portal-impl.jar!/system.properties
Loading jar:file:/root/liferay/tomcat-8.0.32/webapps/ROOT/WEB-INF/lib/portal-impl.jar!/system.properties
Loading jar:file:/root/liferay/tomcat-8.0.32/webapps/ROOT/WEB-INF/lib/portal-impl.jar!/portal.properties
Loading file:/root/liferay/portal-ext.properties

注:デフォルトの LIFERAY_HOME を変更した場合は、必ずその値を指定してください。

module.framework.base.dir=

を、モジュールフレームワークのベースパスを形成するディレクトリに追加します。

4. 同じ物件を複数持つこと、または相反する物件を持つこと

同じプロパティのコピーが複数あると、Liferayプラットフォームがそれらの値をすべて使用することになり、問題が発生する可能性が非常に高くなります。 例えば、このプロパティは、Liferay Portalサーバーのホスト名を表示するかどうかを制御します:

web.server.display.node=

有効な値は、true または false のいずれかである。

web.server.display.node=のコピーが複数ある場合、両方が true に設定されていても、Liferay Portal はこれを true, true としてデータベースで読みます。 有効な値でないため、このプロパティは有効になりません。

portal-ext.properties 以外のプロパティファイルを include-and-override プロパティでインクルードすることも可能であることに留意してください。 例はこちらでご覧いただけます:

include-and-override=portal-bundle.properties
include-and-override=${liferay.home}/portal-bundle.properties
include-and-override=portal-ext.properties
include-and-override=${liferay.home}/portal-ext.properties
include-and-override=portal-setup-wizard.properties
include-and-override=${liferay.home}/portal-setup-wizard.properties

include-and-override のプロパティは、リストアップされた順にロードされることに注意することが重要です。 例えば、portal-ext.propertiesのプロパティがある値に設定され、portal-setup-wizard.propertiesに同じプロパティが別の値に設定されている場合、portal-setup-wizard.propertiesportal-ext.propertiesの後にロードされるため、portal-setup-wizard.propertiesportal-ext.propertiesを上書きしてしまいます。

追加のプロパティファイルがある場合、競合するプロパティや重複するプロパティがないことを確認します。

5. ファイル名とファイル拡張子のスペルミス

portal-ext.propertiesのスペルを間違えると、Liferayプラットフォームはそのファイルを読み込まず、その内容は無視されます。 また、Windowsでよく起こりうるミスとして、ファイル拡張子がファイル名から隠されている場合があります。 そのため、新しいテキストファイルを portal-ext.propertiesとして作成すると、実際には portal-ext.properties.txt となり、また Liferay プラットフォームでは読み取れません。

この記事は役に立ちましたか?
0人中0人がこの記事が役に立ったと言っています