Получение java.lang.Ошибка NoClassDefFoundError: javax / net / SocketFactory при отправке электронной почты с использованием mail.jar

#java #jakarta-mail #noclassdeffounderror

#java — язык #джакарта-почта #ошибка noclassdeffounderror

Вопрос:

Мое веб-приложение jsf, использующее mail.jar и активация.jar для отправки электронной почты оба этих и других зависимых jar-файла находятся в CLASSPATH (приложение запущено в tomcat). Но я получаю следующее исключение

 java.lang.NoClassDefFoundError: javax/net/SocketFactory
    java.lang.ClassLoader.findBootstrapClass(Native Method)
    java.lang.ClassLoader.findBootstrapClass0(ClassLoader.java:892)
    java.lang.ClassLoader.loadClass(ClassLoader.java:302)
    java.lang.ClassLoader.loadClass(ClassLoader.java:300)
    sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
    java.lang.ClassLoader.loadClass(ClassLoader.java:252)
    org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1302)
    org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1233)
    java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
    com.sun.mail.smtp.SMTPTransport.openServer(SMTPTransport.java:1900)
    com.sun.mail.smtp.SMTPTransport.protocolConnect(SMTPTransport.java:638)
    javax.mail.Service.connect(Service.java:317)
    javax.mail.Service.connect(Service.java:176)
    javax.mail.Service.connect(Service.java:125)
  

Я добавил обязательный jsse.jar (который является стандартным jar для Java) также для библиотек моего приложения, но проблема по-прежнему сохраняется. Теперь я сомневаюсь, что jsse.jar в jre поврежден, что вызывает эту проблему. Я использую jre 1.6.0_13.

Кто-нибудь может помочь мне устранить эту ошибку?

Комментарии:

1. Если вам нужны библиотеки J2EE в Eclipse, добавьте одно из репозиториев sofware, перечисленных по этому URL, а затем установите библиотеки j2ee из него: download.eclipse.org/tools/orbit/downloads

Ответ №1:

Этот класс, в частности, является стандартным классом, предоставляемым JVM. Убедитесь, что установка JVM не повреждена, отсутствуют файлы и т.д.

Комментарии:

1. Да, даже я сомневаюсь в том же. Отсутствующий класс javax / net / SocketFactory принадлежит jsse.jar который является стандартным системным jar, поэтому мне интересно, что не так