17 August 2009

java.lang.NoClassDefFoundError: org/osgi/framework/BundleActivator

Si durante el desarrollo de aplicaciones con OSGi nos sale un error en el cual nos dice que la definición de la clase no ha sido encontrada encontrada(NoClassDefFoundError), es simplemente por que el bundle (jar) que contiene la clase, no se encuentra instalado en el contenedor OSGi (en mi caso Equinox).

Para solucionar el problema habría que instalar el bundle que contiene la clase desde la linea de comandos en el contenedor. En el título de este post nos dice que no se encuentra la definición de la interfaz BundleActivator, por tanto habria que instalar el bundle org.osgi.core-4.0.jar en el contenedor.

Install es un comando de OSGi que sirve para instalar bundles dentro del contenedor, desde la linea de comandos.


osgi> install "file:///C:/maven2/.m2/repository/org/osgi/org.osgi.core/4.0/org.osgi.core-4.0.jar"


- FIN -

No comments: