Java - java.lang.NoClassDefFoundError

 
Vista:

java.lang.NoClassDefFoundError

Publicado por ryudoo (30 intervenciones) el 30/03/2005 21:49:53
Hola, existe un programa llamado sonic es un servidor de mensajeria basado en java message service(JMS), la cosa es que necesito agregar a la cola de mensajes del Sonic unos datos que llegan por la red para esto tengo una clase(Servicio) que esta a la escucha que llegen datos (ServerSocket) y otra clase que se llama sonic que tiene un metodo llamado sendCola() (Envia mensajes a la cola de mensajes de sonic) en esta clase tambien puedo leer los mensaje de la cola para ello implemento una interfaz javax.jms.MessageListener me funciona todo ok, compilado ejecuto el programa todo bien, hace lo que tiene que hacer, ahora bien cuando quiero crear un jar con las dos clases contenidas es decir:
jar cvfm sonic.jar manifiesto.txt -C carpeta
en manifiesto.txt tengo:
Main-Class: Servicio
Class-path: sonic.jar
y en carpeta tengo las dos clases Servicio y Sonic con sus repectivos .class
y ejecuto: java -jar sonic.jar
sale java.lang.NoClassDefFoundError: javax/jms/MessageListener
no entiendo por que, es decir si ejecutos las clases funciona la aplicacion pero si creo el jar para ejecutar la aplicacion desde el jar me sale ese mensaje, quizas estare generando mal el jar, por que si no genero jar funciona ejecutando simplemente: java Servicio
pero no: java -jar sonic.jar, ayuda porfa...
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:java.lang.NoClassDefFoundError

Publicado por chuidiang (532 intervenciones) el 30/03/2005 22:04:01
Hola.
Supongo que javax.jms.MessageListener es una clase no estandar de java y que no está en sonic.jar.
En el classpath debes añadir el jar donde esté esa clase.

Se bueno.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:java.lang.NoClassDefFoundError

Publicado por ryudoo (30 intervenciones) el 30/03/2005 22:10:54
si tengo agregado el jar (j2ee.jar) en la variable de entorno classpath, sino no me funcionaria no me compilaria las dos clases Sonic y Servicio para posteriormente ejecutarlas, supongo que te refieres agregarlas en el manifiest pero como lo hago...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:java.lang.NoClassDefFoundError

Publicado por chuidiang (532 intervenciones) el 30/03/2005 22:25:03
Hola de nuevo:

En el manifiesto que has puesto no veo j2ee.jar
Prueba con

java -classpath <directorio>\j2ee.jar -jar sonic.jar

Hay determinadas opciones de java (-classpath es una de ellas) que hacen que se ignore el contenido de la variable CLASSPATH.

Se bueno.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:java.lang.NoClassDefFoundError

Publicado por chuidiang (532 intervenciones) el 30/03/2005 22:31:18
Hola:

He estado mirando un poco más y he encontrado esto

http://one-jar.sourceforge.net/

Ahi dentro hablan algo del Class-path: dentro del fichero de manifiest y menciona que no funciona como se cree. Quizás tenga algo que ver con tu problema.

Se bueno.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar