|
Page Edited :
FELIX :
Integrating Felix with Eclipse
Integrating Felix with Eclipse has been edited by Richard S. Hall (Sep 02, 2008). Content:Integrating Felix with EclipseThis document explains how to launch Felix inside the Eclipse IDE. Then, it is possible to use Eclipse debugging facilities to debug bundles. PreliminariesTo integrate Felix inside Eclipse, you need Felix, Eclipse and nothing else. Installing EclipseFirst, you need Eclipse. To download the Eclipse IDE, go to:http://www.eclipse.org/downloads/ Creation of the Felix binariesTo integrate Felix inside Eclipse, you have three possibilities
Using Pax CursorPax Cursor Usign the Felix release as a Java ProjectOnce, Eclipse is installed, you need to download Felix. You will find this Felix release on http://felix.apache.org/site/downloads.cgi Building and Using the Felix TrunkIf you want to use the Felix trunk, follows the instructions Installing FelixThe integration uses a Java project. This project will contain Felix. This section explains how-to create the new project, how-to copy the Felix release inside the project and finally, how-to configure it. Creation of the Felix Java projectFirst, launch Eclipse, and select your preferred workspace. The integration will be attached to this workspace. Then, click on File -> New -> Project... as depicts on the Figure 1.
This action will launch the project creation wizard. Select Java project (Figure 2), and click on "Next".
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".
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).
After that, click on the "Finish" button. You need to see the following structure (Figure 5). Check that the bin folder appears.
Copying Felix inside the created projectNow, 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.
Once copied, refresh the project. You should see something as presented on the Figure 7.
Preparing the Felix projectThe 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.
Run FelixCreate a Run configurationNow, 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)
This action launch the Run configuration windows. Create a new Java Application (Right-click on Java Application and select new) (Figure 10)
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.
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.
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).
First ExecutionOnce launched, you should see in the Eclipse console view:
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.
Re-launching FelixOnce 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.
Felix ConfigurationObviously, 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. Configure the Felix cache locationFelix store profiles and deployed bundle inside a cache. Normally this cache is located at_$user_home/.felix._ It is possible to change this location in order to clean it quickly. Open the configuration file. Then, add a new line with felix.cache.dir=cache (Figure 18). Now, when you will start Felix, it will create a newcache folder (in your project)(Figure 19). All profiles will be stored in. To clean your cache, just delete the cache directory. Note: refresh your project; else the folder does not appear.
Add auto-started bundlesOften, 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.
Debugging bundlesNow 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. To debug, your code, first place a breakpoint inside your code. Launch Felix in debug mode. Then deploy your bundle Jar file. When the execution reaches the breakpoint, Eclipse opens the debug perspective. You can use all debugging features normally. ConclusionThis document has presented how-to integrate Felix inside Eclipse. For any question or feedback, feel free to send an email to [EMAIL PROTECTED] .com or on the Felix mailing list [EMAIL PROTECTED] |
Unsubscribe or edit your notifications preferences
