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

时间:2011-12-01 09:16:18

标签: service dependencies liferay portlet liferay-6

我尝试了两件事:

  1. 在第二个portlet的liferay-plugin-package.properties中将第一个portlet指定为必需的部署上下文。
  2. 将第一个portlet的portlet服务jar添加到第二个portlet的web app libraries文件夹中。
  3. 都没有奏效。我仍然得到了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)
    

2 个答案:

答案 0 :(得分:0)

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

此致 和Sandeep

答案 1 :(得分:0)

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