如何从liferay中的其他插件调用自定义服务?

时间:2012-03-21 11:54:12

标签: service liferay portlet liferay-6

我使用服务构建器构建了Liferay Custom服务。我有WebArticleLocalHelperServiceImpl这是我服务的实现。

如何从其他插件项目中调用我的服务。

我可以使用以下方法从速度模板项目调用服务:

// get the service using servicelocator.
#set ($myService = $serviceLocator.findService('my-services-portlet', 'com.mycompany.service.MyService'))

// then call the service method    
#set ($result = $myService.mymethod())

我能够从速度模板调用服务,但我无法从其他插件项目(Portlet)调用该服务

当我从ServiceLocator致电MVCPortlet时,它会说ClassNotFound

*serviceImpl致电MVCPortlet的正确方法是什么?

我也在搜索liferay论坛,但没有一个解决方案对我有用。

提前多多感谢。

1 个答案:

答案 0 :(得分:7)

运行servicebuilder时,会得到* -service.jar(其中*是项目/服务的名称)。您需要将此jar提供给您要从中调用它的插件。您可以通过声明依赖项(liferay-plugin-package.properties),手动将其复制到该插件或将其放在全局类路径上来实现此目的