【问题标题】:Error: Unable to initialize main class AirMail Caused by: java.lang.NoClassDefFoundError: javax/mail/Authenticator错误:无法初始化主类 AirMail 原因:java.lang.NoClassDefFoundError: javax/mail/Authenticator
【发布时间】:2020-08-20 19:05:56
【问题描述】:

我正在使用名为 AirMail. 的 Swing、AWT 和 Mail API 创建一个 Java 应用程序。 它发送带有附件功能的电子邮件,此电子邮件服务由 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 。 我检查了,邮件 API 中是否存在 javax/mail/Authenticator 类。 并且,是的,它存在。

通常,我们需要在 ma​​nifest.mf 文件中提供 Main-Class 值,我检查了我的 Manifest.mf 文件并添加了它的 Main-Class 值以及这个我已经在 Manifest.mf 文件的末尾留下了一个空行。

Manifest.mf 文件的内容

  • 清单版本:1.0
  • 创建者:11.0.7(甲骨文公司)
  • 主类:航空邮件

我正在提供指向我的 AirMail.java 代码的链接。

https://github.com/thesumitsuryawanshi/Air-Mail/blob/master/AirMail.java

我使用的是 Ubuntu 18.04“64 位”

任何帮助! 或者 关于我的问题的额外知识将不胜感激。! 谢谢!!

【问题讨论】:

    标签: java email jar awt jakarta-mail


    【解决方案1】:

    AFIK javax.mail 包不是 Java 11 的一部分。您需要将此作为依赖项添加到您的项目中。

    对于 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>
    

    【讨论】:

    • 完美!!我想,如果没有你的回复,我就不会执行我的程序。太感谢大哥了!! :) 我可以有你的 Whats-app 或电报吗,所以我们可以互相帮助成长! :)
    猜你喜欢
    • 1970-01-01
    • 2022-08-24
    • 2021-10-31
    • 2021-02-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-04
    • 2022-07-01
    相关资源
    最近更新 更多