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

我已经在 in 中完成了此操作EXT,即我已经创建了 package: ext-impl/src/com/krishna/inEXT-plugin并且它工作正常,但我无法在hookor中执行此操作portlet。为什么?因为它给了我例外:

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

所以,我的问题是:有没有办法在 hook 或 portlet 中做到这一点,或者只能使用 EXT?

谢谢

4

1 回答 1

3

这只能在 EXT 插件中完成。由于以下两个原因:

  1. 钩子可以有利于覆盖少数属性/服务,但不是全部。挂钩不支持此特定属性。

  2. 这对于 portlet 绝对是不可能的,因为您已经面临类加载问题。Asportal-impl.jar位于ROOT/WEB-INF/libliferay 内部,您的 portlet 无权访问它。

所以EXT插件是唯一的方法。

于 2012-07-30T18:55:40.627 回答