使用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进行编译。
答案 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文件,否则它将找不到。
解决方案:
c:\Users\Amber\Desktop\New Folder
jsoup-1.6.3.jar
复制到与JAR相同的文件夹