我在使用 javamail 1.4.2 api 和 jdk/jre 1.6.0u16 时遇到了一个奇怪的错误。我已将解压缩的 javamail-1.4.2 文件夹(以及还需要的 MySQL Connector-J 5.1.7)放在 jdk 和 jre 文件夹中,如下面的 %classpath% 所示。
.;"C:\Program Files\Java\jdk1.6.0-16\jre\lib\ext\mysql-connector-java-5.1.7-bin";"C:\Program Files\Java\jdk1.6.0-16 \jre\lib\ext\javamail-1.4.2\mail.jar";"C:\Program Files\Java\jdk1.6.0_16\bin";"C:\Program Files\GameLabInventory\GameLabInventory-7.0.jar" ;"C:\Program Files\Java\jre6\lib\ext\mysql-connector-java-5.1.7-bin";"C:\Program Files\Java\jre6\lib\ext\javamail-1.4.2\邮件.jar";
但是当我用命令运行我编译的 jar
C:\Program Files\Java\jre6\bin>java -cp %classpath% -jar "C:\Program Files\GameLabInventory\GameLabInventory_7.0.jar"
我收到以下错误消息:
线程“main”中的异常 java.lang.NoClassDefFoundError: javax/mail/MessagingException at gamelab.inventory.GameLabInventory.main(GameLabInventory.java:62) 原因:java.lang.ClassNotFoundException: java.net 上的 javax.mail.MessagingException .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) at java.lang.ClassLoader.loadClassInternal(Unknown Source) ... 1 更多
我在这里找不到我的设置有什么问题,希望你们能帮助我。谢谢!
这是清单文件:
Manifest-Version: 1.0
Main-Class: gamelab.inventory.GameLabInventory