我正在尝试使用以下代码为 Liferay 公告 portlet 制作一个钩子(Hook):
package com.ahc.hook.service.impl;
import com.liferay.portlet.announcements.*;
public class MyAnnouncementsEntryLocalServiceImpl
extends AnnouncementsEntryLocalServiceBaseImpl {
protected void validate(String title, String content, String url) {
if (Validator.isNull(title)) {
throw new EntryTitleException();
}
if (Validator.isNull(content)) {
throw new EntryContentException();
}
if ((url.length() > 0) && !Validator.isUrl(url)) {
throw new EntryURLException();
}
}
}
但我不断收到以下错误:
[javac] Compiling 1 source file to /home/AHC/darryl.pinto/liferay/plugins/hooks/ahc-announcements-hook/docroot/WEB-INF/classes
[javac] /home/AHC/darryl.pinto/liferay/plugins/hooks/ahc-announcements-hook/docroot/WEB-INF/src/com/ahc/hook/service/impl/MyAnnouncementsEntryLocalServiceImpl.java:25: cannot find symbol
[javac] symbol: class AnnouncementsEntryLocalServiceBaseImpl extends AnnouncementsEntryLocalServiceBaseImpl {
[javac] ^
我感觉扩展部分缺少一些东西,但我不知道是什么
我正在使用 Liferay 6.0.5
有人有什么想法吗?
最佳答案
*LocalServiceBaseImpl 不可用于任何钩子(Hook),因为它是实现的一部分。相反,您想要的是从 *Wrapper 继承。请参阅documentation for overriding a service关于该做什么。这还包含一些推理和解释,说明在加载实现的类加载器中可以使用哪些内容。
关于java - Liferay 公告 portlet Hook ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9469452/