当我的JAR在类路径上时,为什么Ant会说“NoClassDefFound”?

我使用的是Java 1.6,Eclipse和Ant。

以下是我创建jar文件并运行它的目标:

                         

问题是当我运行这个jar(通过Ant或命令行)时,我收到错误:

 Exception in thread "main" java.lang.NoClassDefFoundError: net/xeoh/plugins/base/impl/PluginManagerFactory [java] at plugins.PluginLoader.(Unknown Source) 

一些可能有用的知识:

  • 当我打印我的类路径时,它显示所有必需的JAR都在那里; 它还显示了Eclipse的类路径的GUI版本。

  • 我试过清理项目(通过Eclipse和Ant)无济于事。

  • 似乎缺少的库.jar 不是 .jar中的.jar(这似乎是一个常见的问题)。

  • 这是唯一的错误。 其他课程似乎找到了图书馆……

您已设置编译类路径,但App.jar不包含您的库(仅编译您的类)或清单类路径。

您需要执行以下操作:

         .    

另请参见ant manifestclasspath任务