Creating service builder mvc portlet in Liferay 7 with Liferay IDE 3.
Company Blogs April 26, 2016 By Neil Jin
Liferay IDE Download Page: https://web.liferay.com/downloads/liferay-projects/liferay-ide
Liferay IDE 3 has massive change regarding to Liferay 7.0(Liferay DXP). One of the change is it streamlines the creation of OSGi module portlet by utilizing Liferay Blade tool, gradle elipse plugin and bnd tool.
One of the most concerned question by the Liferay developers is how we develop Service Builder with MVC portlet in new Liferay 7 development pattern.
With Liferay IDE 3 it's quite easy!
First we need to create a Liferay Space project.
A Liferay Workspace is a project container for Liferay porjects, within the Liferay workspace, we can develop and manage Liferay plugins.
And next we need to create a new Module Project by clicking File -> New -> Liferay Module Project, and choose the Project Template Name servicebuilder.
In the Liferay Workspace perspective
We can see there are 2 gradle project under the service builder project. API project containse the service definition and interfaces, as the service path folder in 6.2. Service project contains the actual implementation of the service, as the service code in src folder in 6.2.
It contains a default service.xml. You can change the xml according to your need. After that, you can run buildservice task of service-builder-project-service in Gradle Task Window.
After running buildService then run build task, the service will be ready to use.
How can we reference this service module in a mvc portlet module?
We use gradle to manage dependency.
We can create a mvc portlet Liferay Module Project. And modify build.gradle file. In our case we can add the following code to the dependency declaration.
The service will be available to the mvc portlet. If the editor still complain about the dependency you can right click to the project -> gradle -> refreash gradle project to refreash the project.
When you deploy the project, remember to deploy 3 jars for api, service and mvc portlet.
You can download an example project here.