繁体   English   中英

消息 msg = new MimeMessage(session) 上的 java javaMail NoClassDefFoundError

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM