消息msg上的java javaMail NoClassDefFoundError =新的MimeMessage(会话)

问题描述 投票:0回答:1

我在四处走动。

我的代码运行良好,自使用以来已有6个月到一年的时间。我试图运行它,现在得到:NoClassDefFoundError。这涉及构建/发送电子邮件。

我分解了一个调试代码,并将范围缩小到了一行:

消息消息=新的MimeMessage(会话)

我正在使用JAVA 13和Netbeans11。我不在使用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.sunC:\ 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错误缩小为消息msg =行

java javamail message
1个回答
0
投票

代码现在可以正常工作-我将其转换为Maven Java项目,并在Maven xml文件中附加了我的各种库

© www.soinside.com 2019 - 2024. All rights reserved.