2012-08-29 16 views
5

La base de nuestra aplicación empresarial es OSGI y tenemos varios proyectos Java que son lógicamente paquetes OSGI. Usamos Maven para compilar la aplicación usando el plugin Maven Bundle. Pero este proceso lleva mucho tiempo y hace que sea imposible depurar la aplicación. También utilizamos los complementos Runner y Pax (: provison) para ejecutar la aplicación. Si pudiéramos confiar en la función Auto build de Eclipse y también depurar la aplicación, nuestras vidas serían mucho más fáciles. ¿Hay alguna forma de configurar Eclipse para poder compilar (y ejecutar) una aplicación OSGI?Compilación y ejecución de una aplicación OSGI en Eclipse

Respuesta

5

No estoy del todo seguro si te entiendo, pero aquí va.

Bueno, ejecutar/depurar aplicaciones OSGi en Eclipse es muy fácil, siempre y cuando sus paquetes residan en proyectos con PDE o al menos estén en su plataforma de destino.

¿Tiene la fuente de todos sus paquetes? La depuración sin fuente no es tan útil. Si lo hace, ¿puede importar todo el origen de sus paquetes en su espacio de trabajo de Eclipse?

De lo contrario, puede crear un target platform, agregue todos sus paquetes a eso. (como primer intento, diría volcar todos los paquetes en un directorio y apuntar a la plataforma de destino allí)

De cualquier forma, entonces debería poder ejecutar (o depurar) -> OSGi framework -> New - > Elija sus paquetes -> Comience

Puede elegir paquetes desde o desde la plataforma de destino y desde su área de trabajo.

+0

Oh, necesitas una instalación de Eclipse con PDE, olvidé mencionar eso. –

3

Para la construcción, puede usar Eclipse Plugin Development Environment (PDE). A pesar de su nombre, no es específico para compilar complementos de Eclipse y se puede usar para trabajar en paquetes de OSGi puros. Los plugins de Eclipse son paquetes OSGi con algunos extras.

No puedo ayudarle con la ejecución o la eliminación de fallas, aunque sí sé que algunas plataformas OSGi orientadas a la empresa proporcionan extensiones a PDE.

1

Si ya está utilizando el complemento Maven, puede encontrar que el enfoque de manifestar primero de PDE no encaja bien con su compilación de código existente (supongo que al final desea una compilación IDE para desarrollo y depuración, y una compilación de línea de comando para integración continua y pruebas automatizadas).

Tiene dos opciones. Como otros han sugerido, puede usar PDE integrado de Eclipse y usar Tycho para su compilación maven. Tycho utiliza los mismos datos utilizados por PDE, por lo que no tiene que escribir cosas más de una vez. Alternativamente, puedes quedarte con el plugin maven bundle y usar bndtools dentro de Eclipse. Al igual que el complemento del paquete, bndtools es el primero en el código, por lo que no tendrá que preocuparse por mantener manifiestos. Sin embargo, puede encontrar que no hay un conjunto tan grande de funciones en bndtools como en PDE, y sugeriría que todavía verifique sus manifiestos a mano para asegurarse de que comprende lo que se está generando. Ya sea que prefiera manifestar primero o codificar primero es un poco de acalorado debate filosófico.

1

Mira bndtools. bndtools está utilizando el mismo bnd que subyace en el complemento maven bundle. Incluso puede usar bndtools junto con m2e. bndtools está disponible en el mercado de Eclipse.

Cuestiones relacionadas