1

私の次のプロパティをオーバーライドしたいportal-ext.properties

sites.email.membership.reply.subject=com/liferay/portlet/sites/dependencies/email_membership_reply_subject.tmpl
sites.email.membership.reply.body=com/liferay/portlet/sites/dependencies/email_membership_reply_body.tmpl
sites.email.membership.request.subject=com/liferay/portlet/sites/dependencies/email_membership_request_subject.tmpl
sites.email.membership.request.body=com/liferay/portlet/sites/dependencies/email_membership_request_body.tmpl

このようなものに:

sites.email.membership.reply.subject=com/krishna/email_membership_reply_subject.tmpl
sites.email.membership.reply.body=com/krishna/email_membership_reply_body.tmpl
sites.email.membership.request.subject=com/krishna/email_membership_request_subject.tmpl
sites.email.membership.request.body=com/krishna/email_membership_request_body.tmpl

でこれを実行しましたEXT。つまり、パッケージを作成しました:ext-impl/src/com/krishna/で正常に動作しますが、またはEXT-pluginでこれを行うことができません。なんで?それは私に例外を与えているからです:hookportlet

java.io.IOException: Unable to open resource in class loader com/krishna/email_membership_request_subject.tmpl

それで、私の質問:フックまたはポートレットでそれを行う方法はありますか、または EXT のみを使用できますか?

ありがとう

4

1 に答える 1

3

これは、EXT プラグインでのみ実行できます。以下の 2 つの理由によります。

  1. フックは、すべてではなくいくつかのプロパティ/サービスをオーバーライドするのに有利です。この特定のプロパティは、フックではサポートされていません。

  2. すでにクラスのロードの問題に直面しているため、これはポートレットでは絶対に不可能です。asportal-impl.jarは liferay の内部にROOT/WEB-INF/libあり、ポートレットはそれにアクセスできません。

したがって、EXT プラグインが唯一の方法です。

于 2012-07-30T18:55:40.627 に答える