como agregar un bundle desde mvn en un entorno apache karaf – servicemix
Apache Karaf es uno de los tantos contenedores que cumple con la norma osgi en el ecosistema Java. Y una de las tareas rutinarias al desarrollar en un entorno osgi, es el manejo de las dependencias entre bundle.
Por lo tanto, si desean instalar un bundle expuesto en un repositorio maven (siempre y cuando el artefacto cumpla con el MANIFEST bundle), deben usar el comando bundle:install desde la consola de karaf.
karaf@root>bundle:install mvn -s groupId/artifactId/version
Ejemplo, si desean agregar spring 4 a un entorno osgi, podemos utilizar la librería re-empaquetada expuesta por org.apache.servicemix.bundles.
# desde la consola de karaf@root> ... bundle:install -s mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.spring-core/4.1.5.RELEASE_2 bundle:install -s mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.spring-jdbc/4.1.5.RELEASE_2 bundle:install -s mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.spring-beans/4.1.5.RELEASE_2 bundle:install -s mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.spring-context/4.1.5.RELEASE_2 bundle:install -s mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.spring-expression/4.1.5.RELEASE_2 bundle:install -s mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.spring-aop/4.1.5.RELEASE_2 bundle:install -s mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.spring-tx/4.1.5.RELEASE_2 bundle:install -s mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.spring-orm/4.1.5.RELEASE_2 # bundle:list 249 | Active | 80 | 4.1.5.RELEASE_2 | Apache ServiceMix :: Bundles :: spring-core 250 | Active | 80 | 4.1.5.RELEASE_2 | Apache ServiceMix :: Bundles :: spring-jdbc 251 | Active | 80 | 4.1.5.RELEASE_2 | Apache ServiceMix :: Bundles :: spring-beans 252 | Active | 80 | 4.1.5.RELEASE_2 | Apache ServiceMix :: Bundles :: spring-context 254 | Active | 80 | 4.1.5.RELEASE_2 | Apache ServiceMix :: Bundles :: spring-expression 255 | Active | 80 | 4.1.5.RELEASE_2 | Apache ServiceMix :: Bundles :: spring-aop 256 | Active | 80 | 4.1.5.RELEASE_2 | Apache ServiceMix :: Bundles :: spring-tx 257 | Active | 80 | 4.1.5.RELEASE_2 | Apache ServiceMix :: Bundles :: spring-orm
Y ya disponemos de spring para que pueda ser usado desde otro bundle