¿Cómo crear el paquete OSGi desde la biblioteca jar?¿Cómo crear un paquete OSGi desde la biblioteca jar?
Respuesta
En caso de que esté utilizando eclipse: hay un asistente para eso.
Le permite seleccionar varias bibliotecas jar y crea un proyecto de complemento (es decir, paquete OSGi) que incluye estos archivos jar.
Se puede encontrar aquí:
File -> New -> Other ... -> Plug-in from Existing jar Archives.
+1 porque el propio OP no lo votó :((si es correcto, ¡vuélvalo a votar!) – helios
La captura de pantalla de este asistente es suficiente. ¡Gracias! –
En principio sólo tiene que añadir metadatos OSGi para el manifiesto
Hay un creador paquete para Eclipse que da una forma muy práctica de agregar estas entradas que deben ser parte del Plugin Dev Kit de herramientas.
Aquí hay un article que detalla el proceso y cómo hacerlo con la herramienta Bnd, maven, etc.
Me gusta personalmente the pax tools mucho. Está basado en línea de comandos, pero es muy práctico. Para crear un paquete OSGi de un contenedor existente, puede usar bnd tool.
las herramientas pax y los enlaces pax-wrap-jar están muertos – maarten
primer lugar, compruebe si puede encontrar una versión habilitada osgi de su biblioteca desde los repositorios
- SpringSource http://www.springsource.com/repository
- Fusesource http://repo.fusesource.com/
Si no encuentra la OSGi versiones habilitadas. Puede continuar usando la herramienta pax - PaxConstruct o usar el aQute's Bnd tool.
Fusesource http://repo.fusesource.com/ está muerto – maarten
@maarten Gracias, actualicé los enlaces a recursos más recientes. –
@PeterTillemans, ¿qué enlaces actualizaste? Desafortunadamente, no sé cuál es la nueva URL de repositorio de Fusesource. Por favor, siéntase libre de enlaces en mi respuesta. –
El proyecto Eclipse Bundle Recipe proporciona un enfoque basado en Maven para añadir los datos de OSGi meta a JAR consumidos desde un repositorio Maven.
En su núcleo, utiliza el bnd tool. Esta herramienta es como una navaja suiza. Analiza jarras y archivos de clase y calcula correctamente las importaciones y exportaciones de paquetes. Debe usar bnd para convertir los tarros de propiedad usted mismo. Es available in Maven Central.
Retraso en la llegada a la fiesta:
Si está utilizando Gradle, se puede añadir el frasco como una dependencia normal de su proyecto si se aplica el plugin osgi-run.
El plugin osgi-run envolverá el tarro transparentemente en un paquete para usted, exportará cada paquete en él y calculará todas sus importaciones. Como Gradle sabrá las dependencias transitivas de la jar, también hará lo mismo por ellas, si es necesario.
El frasco (s) será parte del tiempo de ejecución de OSGi OSGi crea plazo, que luego se puede poner en marcha con gradle runOsgi
o gradle createOsgi
, a continuación, ejecutar cualquiera de las run.sh
o run.bat
guiones.
La envoltura real se realiza por Bnd, la navaja suiza del mundo OSGi, por supuesto.
Si desea configurar cómo se realiza la envoltura (lo que se debe importar/exportar, generalmente), puede hacerlo fácilmente en el archivo de construcción Gradle, consulte documentation para obtener más información.
Ejemplo:
wrapInstructions {
// use regex to match file name of dependency
manifest("c3p0.*") {
// import everything except the log4j package - should not be needed
instruction 'Import-Package', '!org.apache.log4j', '*'
instruction 'Bundle-Description', 'c3p0 is an easy-to-use library for making traditional ' +
'JDBC drivers "enterprise-ready" by augmenting them with functionality defined by ' +
'the jdbc3 spec and the optional extensions to jdbc2.'
}
}
- Crear un nuevo proyecto de plug-in desde el archivo JAR existente.
- Añadir el archivo jar que se exportarán
- Haga clic en siguiente y el nombre del proyecto.
- NOTA:
- Hacer una infraestructura de OSGi que está seleccionado en la plataforma de destino.
Descomprimir los archivos JAR en el proyecto se deselecciona -> deseleccionándolo, exportará todos los paquetes de la jarra
si descomprimir los archivos JAR en el proyecto es seleccionados a continuación, deberá exportar manualmente los paquetes necesarios en el archivo MANIFEST.MF.
Haga clic en terminar. Encontrará el proyecto con el nombre transport-5.1.1 creado en su espacio de trabajo. También puede verificar, todos los paquetes del JAR se exportan en el archivo MANIFEST.MF.
- 1. Cómo utilizar la biblioteca de extensiones JSF como paquete OSGI
- 2. Ejecutar el paquete osgi desde la línea de comandos
- 3. JAR en el paquete OSGi con Maven-haz-plugin
- 4. Al incrustar jar en paquete OSGi, ¿ignorar o resultado opcional?
- 5. ¿Cómo funciona la actualización del paquete OSGi?
- 6. Uso de la biblioteca no OSGI en una aplicación OSGI
- 7. ¿Cómo incluir el archivo jar al crear un paquete R?
- 8. ¿Cómo crear un archivo jar ejecutable desde un proyecto clojure?
- 9. Iniciando el paquete OSGi
- 10. OSGI - manejo JAR 3 ª parte requeridos por un haz
- 11. ¿Puede un paquete de fragmentos OSGi publicar un servicio declarativo?
- 12. Encuentra el paquete OSGI que exporta un paquete?
- 13. ¿Cómo puedo hacer un JAR desde .java
- 14. Cómo empaquetar y consumir una biblioteca Java existente con OSGI
- 15. Estructura del paquete del paquete OSGi
- 16. Cómo crear un servicio de Windows desde java jar?
- 17. ¿Cómo establece el marco OSGi la ID del paquete?
- 18. Crear archivo jar desde la línea de comandos
- 19. Crear un archivo jar desde un archivo de Scala
- 20. Obtener servicios OSGi de un paquete en Sling/CQ
- 21. conseguir OSGi paquete de Eclipse IConfigurationElement
- 22. Generar .jar desde scala
- 23. ¿Cómo instalar la biblioteca de jar?
- 24. ¿Cómo puedo crear un archivo .jar autoconsistente con Eclipse?
- 25. Carga DLL (usando JNA) dentro de un paquete OSGi
- 26. Encontrar archivos y carpetas en un paquete OSGI
- 27. Crear clases en el mismo paquete en jar por separado
- 28. ¿Cómo incluir una dependencia a un archivo jar de una aplicación eclipse/osgi?
- 29. Cómo crear un jar ejecutable con jar de dependencia
- 30. Cómo usar sbtosgi para generar paquete osgi como parte de la tarea de publicar sbt
[Esta pregunta] (http://stackoverflow.com/questions/9819090/how-to-convert-jar-to-osgi-bundle-using-eclipse-and-bndtools) está relacionada. –