Distributing and Installing Plug-ins in iDempiere
This guide explains how to distribute and install your plug-ins in iDempiere. Whether you're using a p2 repository or managing bundles manually, this tutorial will help you deploy your plug-ins effectively.
🎯 Goal
Once your plug-in is ready, you need to distribute and install it in your iDempiere environment. This guide explains the different methods available for deploying plug-ins.
📦 Distributing Plug-ins
📡 Install via p2 Repository (Recommended)
This is the recommended way when you have a p2 repository.
Navigate to your iDempiere server directory and run:
cd /opt/idempiere-server
bash update-prd.sh <repository_url> <feature_id>
Example:
bash update-prd.sh https://jenkins.idempiere.org/job/idempiere-rest/ws/com.trekglobal.idempiere.extensions.p2/target/repository/ com.trekglobal.idempiere.rest.api
Alternatively, run the install/uninstall steps manually using the org.eclipse.equinox.launcher
JAR.
These commands must be written on a single line.
Server / Web UI
To distribute your plug-in, you first need to export it as a JAR file. Follow these steps in Eclipse:
- Right-click on your project and select Export > Deployable plug-ins and fragments and click Next.
- Choose a directory where the exported file will be saved.
- In the Options tab, select Package plug-ins as individual JAR archives.
- Click Finish.
Now you have a JAR file that you can install in your iDempiere installations.
🔧 Apache Felix Gogo Console (if no p2 repository)
The Apache Felix Gogo Console allows you to manage OSGi bundles directly. To access the console, connect via Telnet:
telnet localhost 12612
Common Commands
ss
: Display installed bundles (short status). For example,ss rest
shows information about plug-ins with "rest" in their name.install
: Install a bundle using a URL.uninstall
: Uninstall the specified bundle(s).setbsl
: Set the start level for the bundle(s).sta
: Start the specified bundle(s).sto
: Stop the specified bundle(s).help
: Display information about a specific command.
Example Commands
To view bundles related to "rest":
ss rest
To uninstall a bundle:
uninstall com.trekglobal.idempiere.rest.api
To install a bundle from a URL:
install https://jenkins.idempiere.org/.../com.trekglobal.idempiere.rest.api_0.1.0.202501241521.jar
To install a bundle from a local file:
install file:///tmp/com.trekglobal.idempiere.rest.api_0.1.0.202501241521.jar
To set the start level of a bundle:
setbsl 5 com.trekglobal.idempiere.rest.api
To start a bundle:
sta com.trekglobal.idempiere.rest.api
🌐 Apache Felix Web Console
Visit:
https://<your-server>:8443/osgi/system/console/bundles
Login as SuperUser (or another System Admin).
Use Install/Update..., browse for the .jar
file, and set:
- Start Bundle: ✅
- Refresh Packages: ✅
- Start Level:
5
Click Install or Update, then verify the bundle is active. Use the "play" button to manually start it if needed.
🔚 Conclusion
By following this guide, you can distribute and install your plug-ins in iDempiere efficiently. For more advanced topics, explore the other plug-in development guides in this documentation.