OSGi project facets
A project facet is a specific unit of functionality that you can add to a project when that functionality is required. When a project facet is added to a project, it can add natures, builders, class path entries, and resources to a project, depending on the characteristics of the particular project. Facets define characteristics and requirements for OSGi projects and are used as part of the runtime configuration.
When you add a facet to a project, that project is configured to perform a certain task, fulfill certain requirements, or have certain characteristics. For example, the EAR facet sets up a project to function as an enterprise application by adding a deployment descriptor and setting up the project class path.
Some facets require other facets as prerequisites. In other cases, facets cannot coexist in the same project. For example, you cannot add the Dynamic Web Module facet to an EJB project because the EJB project already has the EJB Module facet. Some facets can be removed from a project and others cannot.
Project facet | Description | Dependencies |
---|---|---|
OSGi Application | This facet supplies the basic behaviors and
capabilities that are associated with OSGi applications, such as:
|
|
OSGi Bundle | This facet supplies the basic behaviors and
capabilities that are associated with OSGi bundles, such as:
|
Java™ version 5.0+ |
OSGi Composite Bundle | This facet supplies the basic behaviors and
capabilities that are associated with OSGi composite bundles, such
as:
|
|
OSGi Fragment | This facet supplies the basic behaviors and
capabilities that are associated with OSGi fragments, such as:
|
Java version 1.5+ |