Deploying Modules from Liferay Developer Studio
Push a module from your Liferay Workspace to a running Liferay DXP server without leaving the IDE.
Prerequisites
- A configured Liferay server in Liferay Developer Studio (LDS). See Installing a Liferay Server in Liferay Developer Studio.
- A module project inside a Liferay Workspace. LDS deploys modules from workspaces; for one-off projects, deploy from the command line with Blade CLI.
Start the Server
The server must be running before LDS can deploy to it. In the Servers view, select the configured server and click Start. Wait for Server startup in [N] milliseconds in the console.
Deploy a Module
Two methods deploy a single module:
Drag-and-drop: Drag the project from the Project Explorer onto the running server in the Servers view.
Add and Remove: Right-click the server in the Servers view and select Add and Remove…. Move the project from Available to Configured and click Finish.
The console shows the module’s bundle reach the ACTIVE state when activation completes.
Deploy Multiple Modules at Once
For multi-module workspaces, the Add and Remove… dialog accepts several projects in one operation — move every project you want deployed to the Configured list before clicking Finish.
Continuous Deployment with blade watch
For an active edit-deploy-test cycle, the blade watch task continuously redeploys saved changes.
For projects inside a Liferay Workspace (the standard case): open the Gradle Tasks view, expand your workspace project, and double-click the watch task. While watch is running, every save deploys the module without a manual redeploy. Equivalent from a terminal:
./gradlew watch
For standalone projects (no Liferay Workspace): right-click the project and select Liferay → watch. The action is suppressed inside workspace projects, so this entry only appears for standalone ones.
Verify Deployment
Open the Console view and confirm the module reaches the ACTIVE state. From the running portal, navigate to Control Panel → System → Gogo Shell and run lb [your-module-symbolic-name] to confirm the bundle state from the OSGi runtime.