Java - Ayuda JavaMail -> NoClassDefFoundError

 
Vista:

Ayuda JavaMail -> NoClassDefFoundError

Publicado por Cris (48 intervenciones) el 25/06/2013 15:43:01
Hola a todos.

Tengo una aplicación java desarrollada en Eclipse que una de las cosas que hace es enviar un email utilizando JavaMail (mail.jar). Desde Eclipse genero un archivo .jar, añado el directorio de mail.jar al CLASSPATH y lo ejecuto en consola con el comando java -jar server.jar.

Lo he probado en dos ordenadores diferentes y en uno funciona perfectamente (Windows7 Professional 64 bits) y en otro ordenador con el mismo SO pero de 32 bits, sale el siguiente error:

Exception in thread "Thread-1" java.lang.NoClassDefFoundError: javax/mail/Messag
ingException
at my.serverwidhoc.MsgProcess.ProcessMsg(MsgProcess.java:129)
at my.serverwidhoc.MsgProcess.<init>(MsgProcess.java:29)
at my.serverwidhoc.ServerThread.MsgProcessing(ServerThread.java:81)
at my.serverwidhoc.ServerThread.PreProcessing(ServerThread.java:75)
at my.serverwidhoc.ServerThread.run(ServerThread.java:43)
Caused by: java.lang.ClassNotFoundException: javax.mail.MessagingException
at java.net.URLClassLoader$1.run(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
... 5 more

He añadido los path a las variables de entorno y sigue saliendo el mismo error.

¿Alguien me puede ayudar?

Muchas gracias
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
Imágen de perfil de Jhonnathan Emilio Cardona Saineda

Ayuda JavaMail -> NoClassDefFoundError

Publicado por Jhonnathan Emilio Cardona Saineda (328 intervenciones) el 25/06/2013 18:01:38
Cuando pruebas en el de 32 bits es muy posible que tu JKD este desactualizado, posiblemente
un jdk menor de 1.6. Claramente no encuentra la clase javax/mail/MessagingException y tienes que
adicionar el jar mail.jar al classpath. Verifica que al exportar el jar dentro de él no se vayan
las librerias del jdk. lo que puedes hacer es exportar un jar (no ejecutable).
cuando lo ejecutes lo haces con: java -cp mail.jar com.test.EnvioMail. en -cp colocas separadas por punto y coma
las librerias dependientes, y luego sigue todo el paquete con la clase que contiene el main
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

Ayuda JavaMail -> NoClassDefFoundError

Publicado por Cris (48 intervenciones) el 26/06/2013 08:45:26
Muchas gracias por tu respuesta, te comento lo que me sigue pasando...

La versión de java es esta (con el comando java -version)
java version "1.7.0_25"
Java(TM) SE Runtime Environment (build 1.7.0_25-b17)
Java HotSpot(TM) Client VM (build 23.25-b01, mixed mode, sharing)

En el pc de 64 bits, desde Eclipse exporto un archivo .jar del proyecto. Ejecuto en el pc de 32 bits el comando que me has dicho y me sale lo siguiente:

C:\server>java -cp mail.jar my.serverwidhoc.Server
Error: no se ha encontrado o cargado la clase principal my.serverwidhoc.Server

En el directorio C:\server están los archivos mail.jar y server.jar, este último es el jar del proyecto que contiene la clase principal.

¿Sabes cómo lo puedo solucionar? Gracias de nuevo
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

Ayuda JavaMail -> NoClassDefFoundError

Publicado por Cris (48 intervenciones) el 26/06/2013 09:26:58
Hola de nuevo.

Me había faltado poner el .jar que incluye las clases en el comando que me has indicado. El comando correcto sería:
C:\server>java -cp mail.jar;server.jar my.serverwidhoc.Server

Pero aún así me sigue saliendo el error inicial:

Exception in thread "Thread-0" java.lang.NoClassDefFoundError: javax/mail/Messag
ingException
at my.serverwidhoc.MsgProcess.ProcessMsg(MsgProcess.java:129)
at my.serverwidhoc.MsgProcess.<init>(MsgProcess.java:29)
at my.serverwidhoc.ServerThread.MsgProcessing(ServerThread.java:81)
at my.serverwidhoc.ServerThread.PreProcessing(ServerThread.java:75)
at my.serverwidhoc.ServerThread.run(ServerThread.java:43)
Caused by: java.lang.ClassNotFoundException: javax.mail.MessagingException
at java.net.URLClassLoader$1.run(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
... 5 more

¿Qué puedo probar más?
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

Ayuda JavaMail -> NoClassDefFoundError

Publicado por Cris (48 intervenciones) el 26/06/2013 14:00:07
Ya lo he solucionado !!!
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

Ayuda JavaMail -> NoClassDefFoundError

Publicado por Cris (48 intervenciones) el 26/06/2013 15:14:35
Hola de nuevo Jhonnathan.
No hagas caso a los mensajes anteriores, lo fui solucionando pero me he atrancado otra vez.

Me instalé eclipse en el pc de 32 bits y conseguí hacerlo funcionar en eclipse. Pero al exportar el proyecto a un archivo .jar y ejecutarlo en consola, vuelvo a obtener el mismo error...
He comprobado que el archivo jar contiene la librería mail.jar pero ya no sé que puede estar pasando.
¿Podrías ayudarme?

Gracias
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
Imágen de perfil de Jhonnathan Emilio Cardona Saineda

Ayuda JavaMail -> NoClassDefFoundError

Publicado por Jhonnathan Emilio Cardona Saineda (328 intervenciones) el 26/06/2013 15:23:24
El jar que utilizas si contiene esta clase javax.mail.MesagingException??? De igual puedes intentar con otro jar a ver como te va. http://www.jarfinder.com/index.php/java/info/javax.mail.MessagingException
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

Ayuda JavaMail -> NoClassDefFoundError

Publicado por Cris (48 intervenciones) el 26/06/2013 15:45:54
Tenías razón. Lo he intentado con otro jar y funciona! Gracias!
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