0

我正在尝试使用 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

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

4

2 回答 2

0

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

于 2016-12-08T11:55:40.703 回答
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)",*
于 2016-10-24T21:55:54.760 回答