Назад | Перейти на главную страницу

Webapp вызывает исключение java.lang.ClassNotFoundException: javax.mail.Authenticator

У меня tomcat6 работает на ubuntu с java 1.6.0_20.

Одно из веб-приложений вызывает ошибку, основная причина которой:

java.lang.ClassNotFoundException: javax.mail.Authenticator

mail.jar и Activation.jar (которые были признаны виновными в моем онлайн-исследовании) находятся в каталоге / var / lib / tomcat6 / common / lib и в каталоге lib веб-приложения. Класс javax.mail.Authenticator.class находится в mail.jar.

Что еще я могу попытаться заставить его работать? есть ли где-нибудь журналы, которые могут помочь мне найти настоящую ошибку?

Обновить:

[Loaded javax.mail.Address from file:/C:/.../build/web/WEB-INF/lib/mail.jar]
[Loaded javax.mail.internet.InternetAddress from file:/C:/.../build/web/WEB-INF/lib/mail.jar]
[Loaded javax.mail.Part from file:/C:/.../build/web/WEB-INF/lib/mail.jar]
[Loaded javax.mail.BodyPart from file:/C:/.../build/web/WEB-INF/lib/mail.jar]
[Loaded javax.mail.internet.MimePart from file:/C:/.../build/web/WEB-INF/lib/mail.jar]
[Loaded javax.mail.internet.MimeBodyPart from file:/C:/.../build/web/WEB-INF/lib/mail.jar]
[Loaded javax.mail.Multipart from file:/C:/.../build/web/WEB-INF/lib/mail.jar]
[Loaded javax.mail.internet.MimeMultipart from file:/C:/.../build/web/WEB-INF/lib/mail.jar]
[Loaded javax.activation.DataSource from C:\Program Files\Java\jdk1.6.0_26\jre\lib\rt.jar]
[Loaded javax.mail.Message from file:/C:/.../build/web/WEB-INF/lib/mail.jar]
[Loaded javax.mail.internet.MimeMessage from file:/C:/.../build/web/WEB-INF/lib/mail.jar]
[Loaded org.apache.naming.factory.MailSessionFactory from file:/C:/Program%20Files/Apache%20Software%20Foundation/Apache%20Tomcat%207.0.11/lib/catalina.jar]
[Loaded org.apache.naming.factory.MailSessionFactory$1 from file:/C:/Program%20Files/Apache%20Software%20Foundation/Apache%20Tomcat%207.0.11/lib/catalina.jar]
28.07.2011 09:24:36 com.sun.faces.lifecycle.LifecycleImpl phase
WARNUNG: executePhase(RENDER_RESPONSE 6,com.sun.faces.context.FacesContextImpl@698b41da) threw exception
javax.faces.FacesException: 
[snip...]
[...]
Caused by: java.lang.ClassNotFoundException: javax.mail.Authenticator
[...]

Так что это не говорит мне ничего нового.

Используете ли вы почтовый сеанс, предоставляемый Tomcat, или вы создаете почтовый сеанс в своем приложении?

Посмотрите здесь, как использовать почтовый сеанс, предоставляемый Tomcat:

http://tomcat.apache.org/tomcat-6.0-doc/jndi-resources-howto.html#JavaMail_Sessions

Именно так вы хотите использовать SMTP-соединение в Tomcat.

Если вы используете почтовый сеанс, предоставляемый Tomcat, ему нужны почта и jar-файл активации в пути к классам Tomcat. Обычно это достигается путем помещения этих файлов jar в каталог tomcat / lib (если вы загружаете пакет с tomcat.apache.org)

Я предполагаю, что ваша проблема вызвана специальной конфигурацией каталога Tomcat Ubuntu - я не знаю, какой каталог совпадает с каталогом tomcat / lib там. Обычно я устанавливаю исходный дистрибутив с tomcat.apache.org, просто распаковывая его в желаемый каталог на своих машинах с Ubuntu.

вы пробовали установить JAVA_HOME и CLASSPATH? в / etc / environment?