我在四处走动。
我的代码运行良好,自使用以来已有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 =行
代码现在可以正常工作-我将其转换为Maven Java项目,并在Maven xml文件中附加了我的各种库