java - Liferay 公告 portlet Hook

标签 java liferay hook portlet liferay-6

我正在尝试使用以下代码为 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/

相关文章:

java - 卡夫卡给 : "The group member needs to have a valid member id before actually entering a consumer group"

java - Spring Data Neo4j 和查询

xml - 解压 LAR 文件,编辑 manifest.xml 然后尝试导入 LAR 文件

java - 从 Liferay 的 JSF Portlet 显示 pdf 时出现问题

c++ - WriteFile Hook 无法捕获写入文件操作

emacs - Hook 覆盖用户定义的 emacs 键绑定(bind)

java - 将外观添加到 java 应用程序中

java - For 循环创建一个比预期值少 1 的数组

deployment - Liferay 部署备份并更改数据库

c++ - 进程间 Hook