如何在 Liferay 6.0.6 中使用另一个自定义 portlet 的服务层

发布于 2024-12-18 23:30:37 字数 986 浏览 2 评论 0原文

我尝试了两件事:

  1. 将第一个 portlet 指定为第二个 portlet 的 liferay-plugin-package.properties 中的必需部署上下文。
  2. 将第一个 portlet 的 portlet 服务 jar 添加到第二个 portlet 的 Web 应用程序库文件夹中。

两者都不起作用。我还是得到了 ff。当我尝试对第一个 portlet 的服务进行动态查询时出现异常。

java.lang.ClassNotFoundException: com.foo.bar.model.impl.MyPojoImpl
        at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1645)
        at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1491)
        at com.liferay.portal.dao.orm.hibernate.DynamicQueryFactoryImpl.getImplClass(DynamicQueryFactoryImpl.java:78)
        at com.liferay.portal.dao.orm.hibernate.DynamicQueryFactoryImpl.getImplClass(DynamicQueryFactoryImpl.java:59)
        at com.liferay.portal.dao.orm.hibernate.DynamicQueryFactoryImpl.forClass(DynamicQueryFactoryImpl.java:33)
        at com.liferay.portal.kernel.dao.orm.DynamicQueryFactoryUtil.forClass(DynamicQueryFactoryUtil.java:23)

I have tried two things:

  1. Specified the first portlet as a Required Deployment Context in the second portlet's liferay-plugin-package.properties.
  2. Added the first portlet's portlet service jar to teh second portlet's web app libraries folder.

Neither worked. I still get the ff. exception when I try a dynamic query on the first portlet's service.

java.lang.ClassNotFoundException: com.foo.bar.model.impl.MyPojoImpl
        at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1645)
        at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1491)
        at com.liferay.portal.dao.orm.hibernate.DynamicQueryFactoryImpl.getImplClass(DynamicQueryFactoryImpl.java:78)
        at com.liferay.portal.dao.orm.hibernate.DynamicQueryFactoryImpl.getImplClass(DynamicQueryFactoryImpl.java:59)
        at com.liferay.portal.dao.orm.hibernate.DynamicQueryFactoryImpl.forClass(DynamicQueryFactoryImpl.java:33)
        at com.liferay.portal.kernel.dao.orm.DynamicQueryFactoryUtil.forClass(DynamicQueryFactoryUtil.java:23)

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

你的笑 2024-12-25 23:30:37

尝试从 liferay-plugin-package.properties 中删除所需的部署上下文。创建服务完成后,将 your-service.jar 移动到 tomcat/lib/ext 文件夹中。确保您的 portlet 的 lib 文件夹中没有 your-service.jar,然后尝试调用该服务。

问候,
桑迪普

Try removing the required deployment context from liferay-plugin-package.properties. After you are done creating service, move the your-service.jar in tomcat/lib/ext folder. Make sure none of your portlet has your-service.jar in its lib folder and then try calling the service.

Regards,
Sandeep

成熟的代价 2024-12-25 23:30:37

请参阅http://issues.liferay.com/browse/LPS-13073。将插件 SDK 升级到 6.0.5 以上或按照第二条评论中的修补说明进行操作。

See http://issues.liferay.com/browse/LPS-13073. Either upgrade plugin SDK to later than 6.0.5 or follow patching instructions in second comment.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文