Deploying applications using features
Managing the assembly and deployment of repository locations, bundles, configuration, and other artifacts quickly becomes a major headache for system builders. To remedy this, the Karaf community has developed the concept of features:

A feature descriptor is an XML-based file that describes a collection of artifacts to be installed together into the Karaf container. In this recipe, we'll learn how to make a feature, add it to Karaf, and then use it to install bundles.
Getting ready
The ingredients of this recipe include an OpenDaylight distribution kit, access to a JDK, Maven, and a source code editor. Sample code for this recipe is available at:
https://github.com/jgoodyear/OpenDaylightCookbook/tree/master/chapter10/chapter10-recipe7
How to do it...
Making your application deployable as an Apache Karaf feature is a four-step process; generating a Maven-based project, editing pom build directives, creating a features.xml
resource, and then building and deploying...