[英]java javaMail NoClassDefFoundError on Message msg = new MimeMessage(session)
我四处走动。
我的代码运行良好,自从我使用它以来已经有 6 个月到一年的时间了。 我试图运行它,现在得到: NoClassDefFoundError 。 这与构建/发送电子邮件有关。
我已经打破了调试片段,并将范围缩小到以下行:
Message msg = new MimeMessage(session)
我使用的是 JAVA 13 和 Netbeans 11。我没有使用 Maven。 我找到了许多解决方案的线索,但没有一个对我有用。
我已经找到并阅读了针对这个问题的最高 StakeOverflow 命中率,但我的解决方案一定有问题 - 没有使用 Maven 我将设置的类路径视为路径,但经过不同的尝试后仍然出现错误。 有些线程似乎太旧而无法应用。 该代码已经运行,并且与发送电子邮件的典型示例代码不同。
我试过 jvax.mail 和 javax.mail-1.62
https://javaee.github.io/javamail/ https://javaee.github.io/javamail/SMTP-Transport
我已经为每个线程设置类路径我在我的环境变量中有这些行:
C:\\Users\\xyz\\Documents\\NetBeansProjects\\JAR Files\\JavaX-mail_com.sun C:\\Users\\xyz\\Documents\\NetBeansProjects\\JAR Files\\JAVA_Mail
帮助?
哦,自从它工作以来发生了什么变化 - 升级到 Windows 10,这需要我升级 JAVA 和 Netbeans
代码:(这就够了)
import com.sun.mail.smtp.SMTPTransport;
import javax.mail.Message;
import javax.mail.MessagingException;
import javax.mail.Session;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
import java.util.Date;
import java.util.Properties;
public void debugEmail(){
Properties properties = System.getProperties();
properties.put("mail.smtp.auth","true");
properties.put("mail.smtp.starttls.enable","true");
properties.put("mail.smtp.host","smtp.gmail.com");
properties.put("mail.smtp.port","587");
//Session session = Session.getInstance(properties, null);
Session session = Session.getDefaultInstance(properties, null);
Message msg = new MimeMessage(session);
上面的代码是我创建一个调试例程打破/创建一个简单例程的地方,它将 NoClassDefFound 错误缩小到 Message msg = 行
代码现在正在运行 - 我将内容转换为 Maven java 项目,并在 Maven xml 文件中附加了我的各种库
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.