Exception in thread "main" java.lang.NoClassDefFoundError: javax/mail/Message

来源:百度知道 编辑:UC知道 时间:2024/06/02 03:51:19
我用java做了一个邮件发送的程序,编译和运行完全正常,现在我用如下方法打包:
jar cvfm aa.jar MANIFEST.MF *.class

打包后我用命令java -jar aa.jar运行这个包,这就出现了如下问题:
Exception in thread "main" java.lang.NoClassDefFoundError: javax/mail/Message

这个异常好像是说找不到类javax/mail/Message,但是我环境变量都是配置好了的,而且如果直接运行.class文件时是完全正常的。
请问该如何解决这个打包的问题啊?先谢了!
MANIFEST.MF中的内容如下:
Manifest-Version: 1.0
Created-By: 1.5.0_08 (Sun Microsystems Inc.)
Main-Class: HtmlMailSender

主类是一定能够找得到的,不会是找不到主类这个错误。

我该怎么办,可以的话写具体的操作步骤吧。

2471615,你说运行时所mail包也加进去,我不知道怎么加,能不能讲一下具体的操作步骤啊。

在运行时要把mail包也加进去
首先,确认mail包和自己生成的包在同一目录下
1、运行:
java -classpath mail.jar aa.jar main class
2、在打包时,自己做一个MANIFEST.MF,如:
Manifest-Version: 1.0
Class-Path: commons-logging.jar log4j-1.2.8.jar
Main-Class: com.zql.dq.Test
然后用它来生成jar(要导入的多个包之间必须空格)
运行:
java -jar aa.jar

Main-Class那里写错了
应该写包含main的类的完全路径

你的主类名称对吗?双击你那个.jar包运行试试?
看看你的包里有没有Message.class文件。

无法加载javax/mail/Message 这个类