java.lang.ClassFormatError: atributo Ausente de código en el método que no es nativo o abstracto en el archivo de clase javax / mail / MessagingException

Tengo una dependencia de maven para la Biblioteca de Java.

 javax javaee-api 6.0 provided  

Obtengo el error en Eclipse en algunas clases.

 java.lang.ClassFormatError: Absent Code attribute in method that is not native or abstract in class file javax/mail/MessagingException 

Agregué la dependencia de javax.mail.

  javax.mail mail 1.4.5  

No funcionó. ¿¿Alguna idea??

No funciona porque las clases de la javax/javaee-api/provided están especialmente construidas. No son utilizables en tiempo de ejecución porque falta la implementación de métodos.

Simplemente agregar clases de la javax.mail/mail/1.4.5 al classpath no ayuda, porque las clases de javax/javaee-api/provided ya están allí. Tener solo la dependencia de javax.mail/mail/1.4.5 resuelve su problema, pero lo más probable es que también necesite otras clases de javax/javaee-api/provided .

Lo que puede hacer es deshacerse de la javax/javaee-api/provided y obtener estas clases, por ejemplo, de las dependencias proporcionadas por el servidor de aplicaciones de destino. Puede usar, por ejemplo, lo siguiente:

   org.jboss.spec jboss-javaee-6.0 1.0.0.Final pom provided  

Debido a que se proporciona el scope, no afecta el artefacto que se construirá. Es por eso que puede usar este también con otros servidores de aplicaciones que JBoss. Es la misma API que en su dependencia original, pero contiene clases normales .

en mi caso, solo use la biblioteca:

  javax.mail mail 1.4  

Ejecutar con JDK 6 y Tomcat sin problemas

Extraño, pero el siguiente orden funciona para mí,

   javax.mail mail 1.4   javax javaee-web-api 6.0 provided  

Lo contrario no funcionará.

Si los agrega a su pom en este orden: javax.mail javaee-web-api es bastante lógico que funcione, porque el tiempo de ejecución encuentra primero la clase necesaria (con la implementación adecuada) de javax.mail, ignorando cualquier similar clase (sin implementación) de javaee-web-api.