错误:无法初始化主类airmail,原因是:java.lang.noclassdeffounderror:javax/mail/authenticator

ovfsdjhp  于 2021-07-08  发布在  Java
关注(0)|答案(1)|浏览(415)

我正在用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。我检查了一下,javax/mail/authenticator类是否存在于邮件api中。是的,它是存在的。
通常,我们需要在manifest.mf文件中提供主类值,我已经检查了manifest.mf文件并添加了它的主类值,我已经在manifest.mf文件的末尾留下了一个空行。
manifest.mf文件的内容
清单版本:1.0
创建人:11.0.7(oracle corporation)
主要类别:航空邮件
我提供了一个指向airmail.java代码的链接。
https://github.com/thesumitsuryawanshi/air-mail/blob/master/airmail.java
我使用的是ubuntu 18.04“64位”
任何帮助!!或额外的知识,我的问题将不胜感激。!!谢谢您!!

edqdpe6u

edqdpe6u1#

afik javax.mail包不是Java11的一部分。您需要将此作为依赖项添加到项目中。
对maven来说这可能管用

<!-- 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>

相关问题