运行已经构建的jar时出现ClassNotFoundException

时间:2012-05-31 19:13:00

标签: java

我为com.drew。*添加了jar,它是: -

metadata-extractor-2.4.0-beta-1.jar

我也可以在Eclipse中构建我的应用程序而不会出现任何错误。 但是当我运行我的应用程序的jar(包括所有必需的jar包括上面的jar)时,我收到以下错误:

Error: java.lang.ClassNotFoundException: com.drew.imaging.jpeg.JpegMetadataReader

有什么建议吗?

提前致谢..

3 个答案:

答案 0 :(得分:0)

打开可执行jar(使用7z / WinRAR等)并查看是否包含您的metadata-extractor jar - 同时打开您的Manifest并查看此jar是否在类路径中。

如果以上所有内容都很好,我认为可能存在jar依赖版本不匹配。

您是否使用Eclipse File-> Export-> Runnable JAR文件导出可执行jar?它应该像在Eclipse中一样工作

答案 1 :(得分:0)

您需要在MANIFEST.MF文件中提供类路径。您可以使用任何提取器工具查看此文件。如果依赖jar在文件夹中,则在classpath中提供文件夹名称 条目应该看起来像

  Class-Path: folder/jarfilename

这将有助于您进一步http://docs.oracle.com/javase/tutorial/deployment/jar/downman.html

答案 2 :(得分:0)

在构建jar have to choose which resources you would like to be included时看起来像是eclipse。也许你没有选择那个罐子?