...
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:
...
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.
...