如何在 Liferay 6.0.6 中使用另一个自定义 portlet 的服务层
我尝试了两件事:
- 将第一个 portlet 指定为第二个 portlet 的 liferay-plugin-package.properties 中的必需部署上下文。
- 将第一个 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:
- Specified the first portlet as a Required Deployment Context in the second portlet's liferay-plugin-package.properties.
- 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 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
尝试从 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
请参阅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.