Building and Running iPOJO bundles from Eclipse
This page explains how to build and run iPOJO bundles without exiting Eclipse and breaking the compile-run cycle.
1) Import the iPOJO Bundle project
Download the project archive, and import it as an Existing Project into the Workspace
Then click on finish
2) Configure the target platform
The resulting project, you looks like the left picture.
Before using the project, you need to configure the OSGi platform. It will be run inside Equinox. To achieve this, open the .target
file and then click on set as Target Platform
(on the top-right corner). You don't have to change the configuration. It just configure Equinox to start iPOJO (contained in the lib
folder).
3) Develop you bundle
The imported project contains a very simple component using annotations. But, obviously you can delete/change it. For XML-metadata, use metadata.xml
file is in the project root.
@Component public class MyComponentImpl { @Validate public void start() { System.out.println("I'm started !!!"); } @Invalidate public void stop() { System.out.println("I'm leaving :-(..."); } }
Once you're done, you are able to run your bundle !
4) Run your bundle
Right-click on the .launch
file and then go on Run-As -> MyiPOJOBundle
. Equinox will be started and your iPOJO bundle deployed and started:
Once run for the first time, you can re-run it from the run
icon. In the console view, you get your Equinox shell, and you see your application result. If you don't edit the given development, the output is as:
Iterate
Then, go back to the step 3, change your components, and see the new result...
That's it !
For 1.3.0-SNAPSHOT early adopter
The 1.3.0-SNAPSHOT iPOJO manipulator allows manipulating classes from a directory (FELIX-943). This feature is very convenient for the Eclipse integration because it avoids creating the Jar and unzipping it inside the Eclipse build directory. Moreover, it allows reusing the Java Eclipse builder (compiling classes).
For early adopter you can use a project using this ability and allowing an easier integration with Eclipse. You can download this project here and import it inside your Eclipse workspace.