Cuando estoy creando un paquete, necesito incrustar algunos archivos (http-core y http-client) en mi caso. Al usar maven con el complemento flexible obtengo una enorme lista de importación, algunas de las cosas que no necesito. A partir de ahora estoy negando los paquetes que no necesito en <Import-Package>
, pero también podría usar Import-Package: resolution:=optional
. Me preguntaba cuál es la forma preferida y cuáles son las ventajas/desventajas de ambos enfoques.Al incrustar jar en paquete OSGi, ¿ignorar o resultado opcional?
Respuesta
Desafortunadamente, las personas incluyen muchas "partes agradables" (generalmente llamadas utils) que causan estas importaciones. Muy a menudo los culpables están separados del código central que desea usar. Si usa bndtools, puede inspeccionar fácilmente cómo se ejecutan las dependencias.
En bndtools y maven usa bnd, y bnd hace que sea muy fácil copiar solo parte del JAR en su paquete. De esa forma puedes minimizar las dependencias. Simplemente use Private-Package para copiar los paquetes que realmente necesita y luego mire las importaciones. Si importa algo que cree que necesita, agréguelo a Paquete Privado (en bndtools puede hacer esto arrastrando y soltando).
Al final es probable que pueda deshacerse de muchas importaciones innecesarias. Sin embargo, generalmente quedan algunos. En ese caso, decore con resolución: = opcional en la instrucción Import-Package:
Import-Package: com.oracle.whatever; resolution:=optional, *
No olvide el * al final.
- 1. JAR en el paquete OSGi con Maven-haz-plugin
- 2. ¿Cómo crear un paquete OSGi desde la biblioteca jar?
- 3. Embedded OSGi o paquete de aplicación
- 4. Para incrustar OSGi en contenedor de servlet o contenedor de servlet en OSGi?
- 5. Cómo hacer referencia a un archivo incluido en el paquete OSGi al ejecutar java.io.File o FileInputStream
- 6. Cómo incrustar jar en HTML
- 7. Iniciando el paquete OSGi
- 8. Estructura del paquete del paquete OSGi
- 9. Sin acceso al archivo/recurso de paquete (OSGi)
- 10. OSGI - manejo JAR 3 ª parte requeridos por un haz
- 11. ¿Cómo incrustar la base de datos H2 en el archivo jar entregado al cliente?
- 12. Ignorar resultado vacío para xargs
- 13. ¿Puede un paquete de fragmentos OSGi publicar un servicio declarativo?
- 14. Incrustar fuente en un paquete Mac
- 15. Cómo utilizar la biblioteca de extensiones JSF como paquete OSGI
- 16. ¿Cómo puedo ignorar error de parámetro opcional en MSBuild 3.5
- 17. Encuentra el paquete OSGI que exporta un paquete?
- 18. ¿Cómo funciona la actualización del paquete OSGi?
- 19. conseguir OSGi paquete de Eclipse IConfigurationElement
- 20. OSGi o Impala?
- 21. Ejecutar el paquete osgi desde la línea de comandos
- 22. Groovy + OSGi o Grails?
- 23. ¿Cómo incluir el archivo jar al crear un paquete R?
- 24. ¿Tiene acceso a recursos en otro paquete de osgi?
- 25. EndInvoke() - ¿opcional o no?
- 26. Embarcadero: ¿para incrustar o no incrustar?
- 27. ¿Existe alguna manera fácil de usar un paquete OSGi en un classpath para tareas Ant junit o java?
- 28. Creando un paquete jar con ant
- 29. Cualquier forma de incrustar javadoc en un jar
- 30. Incrustar el tiempo de compilación en JAR Manifiesto usando Ant
¿Por qué no simplemente despliega tus tarros necesarios también como paquetes y añades las dependencias apropiadas a las tuyas en lugar de incorporarlas? – Robin