1

ファイル Language_mylang.properties を作成して保存したいのですが、オンラインで自分の翻訳が含まれています。しかし、私がそれを行うと、Liferay は変更を認識せず、デフォルトの言語の .properties ファイルを使用します。Liferay を再起動 (ポートレットを再デプロイ) して初めて問題が解消されます。再デプロイせずに、独自のプロパティ ファイルを追加して、Liferay がそれを参照できるようにする方法を知っている人はいますか?

よろしく

4

1 に答える 1

2

プロパティ ファイルに固執する場合、再デプロイはアプリ サーバーの機能です。再デプロイしないと、実行中のシステムで変更しているファイルへの変更は反映されません。JSP は顕著な違いの 1 つですが、本番システムで使用できるようにするためにこの機能に依存するべきではありません。これはむしろ開発時の機能です。

つまり、Liferay の翻訳を動的に更新したい場合は、デプロイ プロセスを確認するか、 にアクセスしようとすることができますがcom.liferay.portal.language.LanguageResources、このクラスはプラグインでは使用できません。クラスローディング マジックを使用してアクセスを試みることができます (「 」を参照してくださいcom.liferay.portal.kernel.util.PortalClassInvoker。ただし、変換を動的に更新するために醜いコード (たとえば、リフレクションのようなもの) を準備してください)。

他の可能性もあると思いますが (もっと良いかもしれません)、これらは私が最初に見つけたものです。

于 2013-08-08T14:09:35.240 に答える