【问题标题】:Liferay 7 : Unable find model com.liferay.journal.model.impl.JournalArticleImplLiferay 7:无法找到模型 com.liferay.journal.model.impl.JournalArticleImpl
【发布时间】:2018-09-29 09:16:05
【问题描述】:

当我在自定义 portlet 的 render 方法中写下一行时,它会引发上述异常。

DynamicQuery dynamicQuery = DynamicQueryFactoryUtil.forClass(JournalArticle.class);

我也尝试过使用以下方法:

DynamicQuery dynamicQuery = DynamicQueryFactoryUtil.forClass(JournalArticle.class, PortalClassLoaderUtil.getClassLoader());

我还在build.gradle 文件中添加了以下依赖项

compileOnly group: "com.liferay", name: "com.liferay.journal.api", version: "2.2.2"

请帮我解决这个错误。

堆栈跟踪如下。

调用渲染方法.....

06:42:56,450 ERROR [http-nio-8080-exec-8][DynamicQueryFactoryImpl:103] Unable find model com.liferay.journal.model.impl.JournalArticleImpl
java.lang.ClassNotFoundException: com.liferay.journal.model.impl.JournalArticleImpl
    at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1308)
    at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1142)

【问题讨论】:

  • 由于 DXP 期刊文章是单独部署的,不再在门户服务中,因此您必须充分导入它们.. 接口在 api 包中,实现在另一个包中..您必须同时导入 dem ...因为在运行时需要实现,您可能必须直接在 BND 文件中声明它
  • .. 总结一下:portalclassloader 不会这样做.. 因为它们不再在内核中了

标签: liferay liferay-7


【解决方案1】:

作为替代方案,请尝试:

JournalArticleLocalServiceUtil.dynamicQuery( );

【讨论】:

    【解决方案2】:

    你需要添加的神器叫做

    com.liferay.journal.service
    

    将正确的版本添加到您的 build.gradle 并重新构建

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-07-19
      • 1970-01-01
      • 2016-09-20
      • 2016-03-22
      • 1970-01-01
      相关资源
      最近更新 更多