Как вызвать пользовательский сервис из других плагинов в liferay? - PullRequest
5 голосов
/ 21 марта 2012

У меня есть сервис 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())

Я не могу вызвать службу из шаблонов скорости, но я не могу вызвать службу из других проектов плагинов (портлетов)

, когда я звоню ServiceLocator из MVCPortlet, это говорит ClassNotFound.

Как правильно позвонить на *serviceImpl из MVCPortlet?

Я тоже искал форумы liferay по этому поводу, но ни одно из решений не помогло мне.

Большое спасибо заранее.

1 Ответ

7 голосов
/ 22 марта 2012

Когда вы запускаете servicebuilder, вы получаете * -service.jar (где * - имя вашего проекта / службы). Вы должны сделать эту банку доступной для плагина, с которого хотите ее вызвать. Вы можете сделать это, объявив зависимость (liferay-plugin-package.properties), вручную скопировав ее в этот плагин или поместив ее в глобальный путь к классам

...