2011-01-03 7 views
5

Estoy tratando de ejecutar un pequeño proyecto OSGi de IntelliJ Idea. He agregado el contenedor Equinox en la sección de configuración de OSGi en Idea. Luego agregué la faceta OSGi al proyecto. Todo se ve bien hasta este punto.'La plataforma no es compatible' compatible cuando se intenta ejecutar el objetivo de depuración OSGi

Sin embargo, tan pronto como trato de ejecutar el proyecto me meto en problemas. Utilizo el corredor 'OSGi Bundles' de IntelliJ Idea. Allí selecciono mis paquetes de proyectos y el contenedor OSGi y lo ejecuto. Aquí el problema comienza. Siempre el mismo mensaje de error:

   ___ 
      // 
     // Oops, there has been a problem! 
     // 
     /__/ Platform [platform.felix 3.0.6] is not supported 
     ___ 
     /__/  

    -> Exception caught during execution: 
    org.ops4j.pax.runner.ConfigurationException: Platform [platform.felix 3.0.6] is not supported 
     at org.ops4j.pax.runner.Run.installPlatform(Run.java:611) 
     at org.ops4j.pax.runner.Run.start(Run.java:221) 
     at org.ops4j.pax.runner.Run.main(Run.java:148) 
     at org.ops4j.pax.runner.Run.main(Run.java:121) 

He intentado utilizar otros recipientes OSGi, como Félix o Knopflerfish y tienen el mismo problema. ¿Alguien sabe lo que estoy haciendo mal? ¿O qué versiones de los contenedores OSGi son compatibles con IntelliJ?

Respuesta

9

Osmorc (IntelliJ OSGi plugin) configura el contexto del pax runner con el nombre de la plataforma y la versión que proporciona en la configuración OSGi del IDE (IDE Settings -> OSGi -> Framework Definitions).

El nombre es "plataforma." + El nombre que proporcionó, y la versión es literal. Las versiones compatibles para diferentes plataformas se enumeran here. La lista no está actualizada, sin embargo.

Puede consultar las versiones reales mirando dentro del tarro del corredor. Vaya a su idea_home/plugins/osmorc/lib, abra pax-runner -... jar. El directorio META-INF contiene un subdirectorio para cada plataforma con definición- $ VERSION.xml.

Para su ejemplo, puede ver que no hay soporte para Felix 3.0.6 en pax-runner 1.5.0. La última versión compatible es 3.0.2.

+2

Gracias por la segunda pista, ayudó también. Sólo para mencionar, su enlace está muerto ... tal vez [esto] (http://team.ops4j.org/wiki/display/paxrunner/5.4.2.+Pax+Runner+-+Platform+-+Felix) es el nuevo uno por lo que el siguiente no necesita buscar de nuevo ... :) aplausos – Kjellski

Cuestiones relacionadas