javaWeb邮件发送之java.lang.NoClassDefFoundError:javax/mail/Authenticator
1. 问题描述
在JavaWeb的邮件发送中,用maven导入两个jar包(mail-1.4.7)
and (activation1.1.1)后出现问题java.lang.NoClassDefFoundError:
javax/mail/Authenticator(如下图)
maven配置如下:
<dependencies>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>4.0.1</version>
</dependency>
<!-- https://mvnrepository.com/artifact/javax.mail/mail -->
<dependency>
<groupId>javax.mail</groupId>
<artifactId>mail</artifactId>
<version>1.4.7</version>
</dependency>
<!-- https://mvnrepository.com/artifact/javax.activation/activation -->
<dependency>
<groupId>javax.activation</groupId>
<artifactId>activation</artifactId>
<version>1.1.1</version>
</dependency>
</dependencies>
项目结构如下:
可以看到jar包已经导入module中。
2. 问题思路
1.jar包版本问题
2.jar包没有加到library
==3.tomcat lib 中没有引入上面两个jar包(我的是这个问题)==
3. 解决问题方法–(我的是第3个问题,我直接跳到这一步)
步骤
1.进入你的tomcat的安装目录(如下图)
2.查看是否有上面两个jar包(mail.jar)and (annotation.jar)
3.如果你是用maven来管理的,那就找到你的maven-rep 仓库,找到上面两个jar包,复制到tomcat的lib下。
4.如果你是下载的jar包那就直接将jar包复制到tomcat的lib下。
1.
2.找到maven-rep-将对应jar包复制到tomcat的lib下。
3.以mail-1.4.7.jar为例
复制到 tomcat-lib下。
4.重启tomcat试一下。
问题解决。