库没有正确导入java

时间:2012-07-22 15:52:16

标签: java eclipse jsoup noclassdeffounderror

使用JSoup进行html抓取,我试图编译我的jar文件,以便我可以在Eclipse上运行它。如下所示:(http://i.imgur.com/hLmeQ.jpg),我的jsoup jarfile被添加到外部库中。但是,在运行程序时,我得到一个NoClassDefFoundError。这是暗示它没有找到类文件,所以我反编译并仔细检查:类文件在导入的jar中。清单文件也是正确的。

我正在运行:Eclipse:构建ID:20110916-0149,Java 7更新5(64位)和jsoup 1.6.3,

我没有使用Maven进行编译。

2 个答案:

答案 0 :(得分:0)

你说:

  

清单文件也是正确的。

但你确定吗?实际上你的jar文件的清单是什么样的?它应该看起来像:

Manifest-Version: 1.0
Main-Class: yourMainClassPackage.YourMainClass
Class-Path: jsoup-1.6.3.jar

你确定你的jsoup jar文件位于清单中相对于其路径规范的正确位置吗?

答案 1 :(得分:0)

无法找到班级,因为:

您的类路径声明为Class-Path: jsoup-1.6.3.jar,但是从您的屏幕截图中,jsoup-1.6.3.jar位于c:\Users\Amber\Desktop\New Folder,因此,除非您从同一文件夹运行JAR文件,否则它将找不到。

解决方案:

  1. c:\Users\Amber\Desktop\New Folder
  2. 运行您的JAR
  3. - 或 - 将jsoup-1.6.3.jar复制到与JAR相同的文件夹
  4. - 或者 - 拥有所有lib的公共文件夹(例如c:\ java \ libs)并在CLASSPATH系统环境变量中包含此文件夹