java.lang.NoClassDefFoundError:javax/mail/MessaginException

java.lang.NoClassDefFoundError:javax/mail/MessaginException,java,jakarta-mail,noclassdeffounderror,Java,Jakarta Mail,Noclassdeffounderror,我一直在开发一个程序,它使用Javamail API根据时间事件和特定条件发送电子邮件。该程序在Eclipse(最新版本)中完美运行,javamail和activator JAR以及javamail的依赖项都在构建路径中。当我将项目导出为jar并尝试运行它时,就会出现问题。(生成的堆栈跟踪与Eclipse构建路径中缺少javamail jar时相同) 堆栈跟踪如下所示: `Exception in thread "Timer-1" java.lang.NoClassDefFoundError:

我一直在开发一个程序,它使用Javamail API根据时间事件和特定条件发送电子邮件。该程序在Eclipse(最新版本)中完美运行,javamail和activator JAR以及javamail的依赖项都在构建路径中。当我将项目导出为jar并尝试运行它时,就会出现问题。(生成的堆栈跟踪与Eclipse构建路径中缺少javamail jar时相同)

堆栈跟踪如下所示:

`Exception in thread "Timer-1" java.lang.NoClassDefFoundError: javax/mail/MessagingException
at SpaceCheck.HourlySpaceAlerts(SpaceCheck.java:212)
at WarningReports.run(WarningReports.java:21)
at java.util.TimerThread.mainLoop(Unknown Source)
at java.util.TimerThread.run(Unknown Source)
Caused by: java.lang.ClassNotFoundException: javax.mail.MessagingException
at java.net.URLClassLoader$1.run(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
... 4 more`

谢谢你的帮助

假设您将
javamail
和其他依赖项放在相对于导出jar的
lib/
文件夹中,您必须在清单文件中声明这些jar:

Class-Path: lib/javamail.jar

您还可以通过在此url添加一个软件repo来获取JavaEElibs


您可以尝试使用“包含所有依赖项”选项导出为jar。我已经选择了“导出生成的类文件和资源”,这是正确的选项吗?您找到了快速解决方法吗?