java.lang.NoClassDefFoundError:javax / mail / MessagingException

我一直在研究一个使用 Javamail API根据时间事件和某些条件发送电子邮件的程序.该程序在 Eclipse(最新版本)中运行完美,javamail和激活器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

相关文章

最近看了一下学习资料,感觉进制转换其实还是挺有意思的,尤...
/*HashSet 基本操作 * --set:元素是无序的,存入和取出顺序不...
/*list 基本操作 * * List a=new List(); * 增 * a.add(inde...
/* * 内部类 * */ 1 class OutClass{ 2 //定义外部类的成员变...
集合的操作Iterator、Collection、Set和HashSet关系Iterator...
接口中常量的修饰关键字:public,static,final(常量)函数...