java - 由于消息传递异常,尝试使用 javamail 运行 .jar 文件时出错
问题描述
我正在为我的 SO 编写一个小的自动响应程序,并在其中加入了一个电子邮件功能作为我自己的噱头/测试。我的源代码在 netbeans 中运行良好,但是当我尝试在 Mac 终端中运行 .jar 本身时出现错误:无法初始化主类 [类名] 原因:java.lang.NoClassDefFoundError: javax/mail/ MessagingException 我对 java 还很陌生,所以对于问题中的任何含糊或简单性,我深表歉意,但如果有任何需要澄清的事情,请尽我所能
我已经尝试通过双击并在终端中运行它来定期运行 .jar 并且两者都不起作用,但是当我在 netbeans 中构建和运行源代码时,程序运行良好。我怀疑这可能与捕获异常行有关,但我真的不知道为什么。
try{
//sets variables to store custom subject and body data
System.out.print("Subject: ");
//input is name of scanner
String subject=input.next();
System.out.print("Body: ");
String body=input.next();
Message message = new MimeMessage(session);
//sets sender as my email
message.setFrom(new InternetAddress(myemail@gmail.com"));
//sets recipient as other email
message.setRecipients(Message.RecipientType.TO,
InternetAddress.parse("recipientemail@msn.com"));
//sets subject and content as variables defined earlier
message.setSubject(subject);
message.setText(body);
//sends message
Transport.send(message);
System.out.println("Done");
//catches and throws a necessary messaging exception
} catch (MessagingException e) {
throw new RuntimeException(e);
}
解决方案
我认为从命令行运行 jar 文件的问题在于您的类路径中没有 java.mail,但是当您从 IDE 运行时,它会作为外部库添加到项目中。 https://docs.oracle.com/javase/8/docs/technotes/tools/windows/classpath.html 来自@user999
推荐阅读
- reinforcement-learning - 运行“python 示例/rllib/traffic_light_grid.py”时出现 FLOW 错误
- node.js - 如何在生产中保护 mongoDB 连接
- python - 如何修复 Python 中的 Valueerror,在机器学习中进行缩放?
- flutter - Dart:获取列表 2 中元素的索引(列表 1 中的元素)
- string - 对多个字符串进行操作以产生一个字符串
- c# - INSERT 语句与 FOREIGN KEY 约束“tableConstraint”冲突
- r - 函数中使用的 R phyloseq tax_glom 给出错误
- mysql - 在 Where 子句中使用相乘的列
- c++ - 如何对二维向量进行排序
- c - 将 CURLcode res 转换为 char*