Creé una aplicación Eclipse 4 y necesitaba una jar
ofreciendo una funcionalidad como parte de mi aplicación (esto podría ser cualquier cosa, por ejemplo, log4j
para hacerlo trivial).
Agregué el jar
como parte del classpath de mi proyecto (Right Click->Configure Build Path
) pero en el tiempo de ejecución mi servicio falló con un error ClassNotFound
(de OSGI, supongo?).
De todos modos, al buscar esto resultó, al menos como lo he entendido, que debería agregar el contenedor como parte de otro Plugin
y crear una dependencia desde mi aplicación/servicio a este nuevo complemento.
I.e. Creé un Plugin Project from Existing JAR archives
.
Esta vez la configuración funcionó.
Entonces, si entiendo esto, al desarrollar para Eclipse/OSGi no deberíamos agregar jars
en los classpaths directamente, sino agregarlos a través de complementos (¿por qué?).
Pregunta: Si estoy en lo correcto hasta ahora, ¿cuál es la práctica estándar para incluir jars
al desarrollar un proyecto?
Definir/Crear una Plugin Project from existing JAR archives
y añadir todos los las bibliotecas de terceros requeridas necesarios allí, o tienen un proyecto de plug-in diferente por necesaria jar
o tal vez algo más ???
Lo siento si mi terminología no es precisa. Soy nuevo en OSGi y Eclipse programación¿Cómo incluir una dependencia a un archivo jar de una aplicación eclipse/osgi?
Nota: Cuando se habla dejars
No estoy refiriendo a otros servicios OSGi. Me refiero a la norma de usar bibliotecas de terceros listas y confiables que serían necesarias en muchas partes de una aplicación. P.ej. log4j
o una biblioteca de análisis xml o apache commons
etc.
¿Cuál es su objetivo final: ¿Quieres crear una entrega de "su" proyecto, dicen un jar/zip que tiene todas las clases/jarras/recursos necesarios para ejecutar su programa? – Kashyap
@thekashyap: No estoy seguro de entender su pregunta. El producto exportado está predefinido por la configuración '.product', ¿no? Entonces mi preocupación es cómo se debe configurar el proyecto para que en la implementación sepa que todos los frascos necesarios están disponibles . – Cratylus
Visita: http://www.vogella.com/articles/OSGi/article.html y http://www.coderanch.com/t/104274/vc/Order-Export-tab-Java-Build – Kashyap