Liferay 7尝试在portlet中获取Web内容时出错

时间:2016-10-24 16:13:53

标签: java liferay-7

我正在尝试使用JournalArticleServiceUtil类来获取Web内容,但它显示错误,我不知道如何解决它,这是我的代码

long groupId = themeDisplay.getLayout().getGroupId();
    System.out.println("GroupId: " + groupId);
    List<JournalArticle> articleList = new ArrayList<>();
    List<String> news = new ArrayList<>();
    try {
        DDMStructure structure = DDMStructureManagerUtil.getStructure(Long.parseLong("94203"));
        articleList = JournalArticleServiceUtil.getArticlesByStructureId(groupId, structure.getStructureKey(), 0, 10, null);
        for (JournalArticle art: articleList) {
            news.add(art.getContent());
        }

    } catch (SystemException e) {
        log.error(e.getMessage());
    } catch (NumberFormatException e) {
         log.error(e.getMessage());
    } catch (PortalException e) {
        log.error(e.getMessage());
    }

错误说

com.sun.proxy.$Proxy466 cannot be cast to com.liferay.journal.service.JournalArticleService

我希望你能帮我解决这个问题

2 个答案:

答案 0 :(得分:0)

这似乎与您正在使用的服务类的实现版本有关。如果您使用的是gradle,则可以优先使用compileOnly规则,并确保将服务器中的内核版本与您使用的内核版本相匹配。有时您需要直接在bnd.bnd上声明实现版本。

类似的东西:

Import-Package: com.liferay.journal.model;version="[1.0.0,3.0.0)", com.liferay.journal.service; version="[1.0.0,3.0.0)",*

答案 1 :(得分:0)

我认为你应该尝试使用 JournalArticleLocalServiceUtil 而不是 JournalArticleServiceUtil