当我的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任务