Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migrated to Confluence 5.3

...

If you want to use the Felix trunk, follows the instructions to checkou checkout and build it. The Felix binaries are created in the main project. We will copy the files elsewhere later.

...

Then, click on File -> New -> Project... as depicts on the Figure 1.


Figure 1: Creation of a new project

This action will launch the project creation wizard. Select Java project (Figure 2), and click on "Next".


Figure 2: Selection of the project type

Enter the project name (Felix for example). Select the "create separate source and output folders" option (if not already selected). These actions are depicted on the Figure 3. Then click on "Next".


Figure 3: Configuration of the Felix project

On this new wizard page, you need only to change the default output folder (Felix/bin) to another (classes for example, as presented on Figure 4).


Figure 4: Change the "Default output folder"

After that, click on the "Finish" button. You need to see the following structure (Figure 5). Check that the bin folder appears.


Figure 5: Our new Java Project

Copying Felix inside the created project

Now, remember where you uncompress the Felix release, or where is the Felix main project. Move these files inside the created project. Override the bin folder when asked.


Figure 6: Overwrite the "bin" folder

Once copied, refresh the project. You should see something as presented on the Figure 7.


Figure 7: The Felix project after the copy

Preparing the Felix project

The Felix main jar is bin/Felix.jar. So, we need to add this jar in the project build path as presented on Figure 8. Right-click on the felix.jar file and then choose Build Path -> Add to Build Path.


Figure 8: Add the felix.jar file to the project build path

Run Felix

Create a Run configuration

Now, the Felix project is ready. But, we need to configure a Runconfiguration to launch Felix. To achieve this, right-click on the Felix project and select Run As -> Run... (Figure 9)


Figure 9: Create a Run configuration to launch Felix

This action launch the Run configuration windows. Create a new Java Application (Right-click on Java Application and select new) (Figure 10)


Figure 10: Create a new Java Application

On the configuration wizard, enter a configuration name. Afterward, check the project name (it should be Felix if you choose Felix as project name). Then, Tick the "Include libraries when searching for a main class" option. You should obtain something as presented on the Figure 11.


Figure 11: Felix run configuration

Next, click on the "Search" button. Enter "Main" in the text area. In the resulting list, select "Main – org.apache.felix.main". Below the list, you should see: "org.apache.felix.main /Felix/bin/felix.jar". The resulting windows must be similar as the Figure 11.


Figure 12: Choose to "good" main class

At that moment, clicks on the "Ok" button. You come back to the Run configuration windows. Apply the configuration ("Apply" button). And click on the "Run" button (Figure 13).


Figure 13: The Felix run configuration can be launched

Note: Newest Felix versions require to set the felix.config.properties property. To achieve this, go in the 'arguments' tab and add the following VM arguments:

Code Block

-Dfelix.config.properties=file:conf/config.properties

First Execution

Once launched, you should see in the Eclipse console view:


Figure 14: Endly Felix inside Eclipse!

You can use the console as the "normal" Felix console. In fact it is the normal Felix console in color. Enter a profile name as "integration_test" and then use the console normally (Figure 15).

To stop Felix, either type shutdown in the console, either clicks on the red square ("terminate") in the console toolbar.


Figure 15: Use the Felix console normally

Re-launching Felix

Once the run configuration for Felix is created (and launched a first time), you can launch Felix directly by clicking on the Run icon and by choosing Felix (Figure 16). Moreover, you can use Eclipse debugging features by launching Felix in debug mode. To achieve this, click on the debug icon and then choose Felix (Figure 17).

Note: You can launch Felix in profiling mode too, if you have installed TPTP.


Figure 16: Launching directly Felix from the icon bar


Figure 17: Launch Felix in debug mode

Felix Configuration

Obviously, you can modify the Felix configuration. The Felix configuration file is in the conf folder (config.properties). This section presents briefly two modifications. To go further, look at the Felix documentation.

...

Note: refresh your project; else the folder does not appear.


Figure 18: Customize the Felix cache location


Figure 19: The Felix cache inside your project

Add auto-started bundles

Often, you want that Felix deploy automatically some bundles. By modifying the felix.auto.start.1 (or 2), it is possible to configure which bundle will be deployed at startup.

To achieve this, open the configuration file and add your needed bundle path to the felix.auto.start.1 property (Figure 20). Be careful to the / in your path, to the \ at the end of the line, and to leave a space to the beginning of a new line.


Figure 20: Add auto-started bundles

Debugging bundles

Now that we are able to launch Felix as a Java Application, we can use the debugging and profiling features of Eclipse. To debug bundles, create a new project for your bundle. Then develop your bundle normally. Afterward, compile / package your bundle to obtain the bundle Jar file. You can use Eclipse PDE, Maven, BND, iPOJO, etc... to package your bundle.

...

This document has presented how-to integrate Felix inside Eclipse. For any question questions or feedback, feel free to send an email to subscribe to the Felix users mailing list by sending a message to users-subscribe@felix.apache.org; after subscribing, email questions or feedback to users@felix.apache.org.