java.lang.NoClassDefFoundError: javax/mail/Address error
java.lang.NoClassDefFoundError: javax/mail/Address error
我的项目 mail.jar
在 lib
文件夹中。我创建了一个清单文件
Manifest-Version: 1.0
Main-Class: mainfile
Class-Path: lib/mail.jar
然后我使用 eclipse 导出了 jar
文件。
我现在尝试以 java -jar myjar.jar
的身份执行 jar 文件,但出现错误
java.lang.NoClassDefFoundError: javax/mail/Address
任何指点将不胜感激
- 在您的 class 路径中添加
mail.jar
。
- 确保您的 class 路径中没有拼写错误。
- 检查导出的
jar
文件,是否所有必需的 jar 文件都已提供,否则您必须使用 eclipse 选项 Extract required libraries into generated JAR
。
来自 Oracle documentation:
The text file must end with a new line or carriage return. The last
line will not be parsed properly if it does not end with a new line or
carriage return.
所以它应该看起来像这样:
Manifest-Version: 1.0
Class-Path: lib/mail.jar
Created-By: 1.7.0_06 (Oracle Corporation)
此外,请确保您的 MANIFEST.MF 在 META-INF 文件夹中。
在我的例子中,类路径已更新,但缺少新的类路径 mail.jar 和 activation.jar
所以linking/copying
- mail.jar
- activation.jar
进入类路径 lib 目录可能是解决方案之一。
我的项目 mail.jar
在 lib
文件夹中。我创建了一个清单文件
Manifest-Version: 1.0
Main-Class: mainfile
Class-Path: lib/mail.jar
然后我使用 eclipse 导出了 jar
文件。
我现在尝试以 java -jar myjar.jar
的身份执行 jar 文件,但出现错误
java.lang.NoClassDefFoundError: javax/mail/Address
任何指点将不胜感激
- 在您的 class 路径中添加
mail.jar
。 - 确保您的 class 路径中没有拼写错误。
- 检查导出的
jar
文件,是否所有必需的 jar 文件都已提供,否则您必须使用 eclipse 选项Extract required libraries into generated JAR
。
来自 Oracle documentation:
The text file must end with a new line or carriage return. The last line will not be parsed properly if it does not end with a new line or carriage return.
所以它应该看起来像这样:
Manifest-Version: 1.0
Class-Path: lib/mail.jar
Created-By: 1.7.0_06 (Oracle Corporation)
此外,请确保您的 MANIFEST.MF 在 META-INF 文件夹中。
在我的例子中,类路径已更新,但缺少新的类路径 mail.jar 和 activation.jar
所以linking/copying
- mail.jar
- activation.jar
进入类路径 lib 目录可能是解决方案之一。