Get it on Google Play

Formación Liferay: Dependencias entre módulos OSGI en Liferay

30-05-2017
 
Liferay OSGI dependencias

Liferay OSGI dependencias

En el pasado artículo ‘Incluir dependencias en los módulos OSGI de LiferayDXP 7‘ ya expliqué como incluir dependencias externas(JAR) en módulos OSGI en Liferay 7. Però hoy, una consulta de un antiguo alumnos del curso de formación en Liferay 7 me ha hecho recordar que no había publicado como poner dependencias entre módulos OSGI.

Poner dependencias entre módulos OSGI es muy fácil(Cuando se sabe como 🙂 ), gracias a las BND Tools y Gradle. Vamos a ver como:

En el módulo que va a compartir una API se deberá indicar en el fichero ‘bnd.bnd’ que paquete se quiere exportar. Por ejemplo, si tenemos el paquete ‘com.lostsys.formacion’ que queremos compartir en el fichero pondremos esto:

Bundle-SymbolicName: xxx
Bundle-Version: 1.0.0

Export-Package:\
    com.lostsys.formacion

Hasta aquí todo para el que comparte. A partir de ahora cualquiera puede hacer uso de las classes en este paquete. Vamos a ver ahora lo que tenemos que hacer para hacer uso de este paquete:

Primero, al gradle tendremos que indicarle que queremos hacer uso de ese paquete:

dependencies {
compileOnly group: "com.liferay.portal", name: "com.liferay.portal.kernel", version: "2.0.0"
compileOnly group: "com.liferay.portal", name: "com.liferay.util.taglib", version: "2.0.0"
compileOnly group: "javax.portlet", name: "portlet-api", version: "2.0"
compileOnly group: "javax.servlet", name: "servlet-api", version: "2.5"
compileOnly group: "jstl", name: "jstl", version: "1.2"
compileOnly group: "org.osgi", name: "org.osgi.compendium", version: "5.0.0"

/* Aquí la dependencia con el otro módulo */
compile project(":modules:xxx")
}

También tendremos que indicarle al ‘bnd.bnd’ que hacemos uso de ese paquete:

Bundle-SymbolicName: formacionportlet
Bundle-Version: 1.0.0

Import-Package:\
    com.lostsys.formacion

Ya veis! Fácil y rápido. Si os ha gustado no os olvidéis de ponerme un comentario, compartir y visitar mi nuevo canal de Youtube https://www.youtube.com/user/acoronadoc.

Interesado en formación Liferay?

 

Leave a Reply

© Albert Coronado Calzada