我使用服务构建器构建了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论坛,但没有一个解决方案对我有用。
提前多多感谢。
答案 0 :(得分:7)
运行servicebuilder时,会得到* -service.jar(其中*是项目/服务的名称)。您需要将此jar提供给您要从中调用它的插件。您可以通过声明依赖项(liferay-plugin-package.properties),手动将其复制到该插件或将其放在全局类路径上来实现此目的