我正在尝试使用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
我希望你能帮我解决这个问题
答案 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 。