问题描述
我正在使用Swing,AWT和Mail API创建Java应用程序,其名称为 AirMail。 通过电子邮件发送带有附件特征的电子邮件,此电子邮件服务由Gmail(Google)提供。
我已经通过 jar -cvmf manifest.mf AirMail.jar 命令在命令行中创建了其jar文件。 因此,启动jar文件时出现错误。 错误:
Unable to initialize main class AirMail Caused by: java.lang.NoClassDefFoundError: javax/mail/Authenticator
因此,上述错误表明javax / mail / Authenticator中的NoClassDefFoundError。 我检出了Mail API中是否存在javax / mail / Authenticator类。 和,是的。
通常,我们需要在 manifest.mf 文件中提供Main-Class值,我已经检查了我的 Manifest.mf 文件,并将其Main-Class值与这个Ive已经在 Manifest.mf 文件的末尾留空行。
- 清单版本:1.0
- 创建时间:11.0.7(Oracle公司)
- 主要类别:航空邮件
https://github.com/thesumitsuryawanshi/Air-Mail/blob/master/AirMail.java
我正在使用Ubuntu 18.04“ 64位”
任何帮助! 要么 关于我的问题的额外知识将不胜感激!! 谢谢你!
解决方法
AFIK javax.mail软件包不是Java 11的一部分。您需要将其添加为项目的依赖项。
对于行家来说这可能有效
<!-- https://mvnrepository.com/artifact/com.sun.mail/javax.mail -->
<dependency>
<groupId>com.sun.mail</groupId>
<artifactId>javax.mail</artifactId>
<version>1.6.2</version>
</dependency>