0

我正在尝试使用 Bliki 访问和解析 wiki 页面。我刚刚下载了 zip 文件并将 bliki-core-3.0.19.jar 放入我的 eclipse 构建路径中。

但是,当我尝试使用示例代码进行连接时。有一个错误。示例代码在这里:

public static void test(){
    String pageName = "File:Mona Lisa.jpg";
    User user = new User("", "", "http://en.wikipedia.org/w/api.php");
    Connector con = new Connector();
    user = con.login(user);
    List<Page> pages = user.queryImageinfo(new String[]{pageName});
    if(pages != null)
        System.out.println(pages.size());
}

我得到的错误如下:

Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/commons/httpclient/HttpMethod
at info.bliki.api.User.<init>(User.java:98)
at info.bliki.api.User.<init>(User.java:71)
at main.wiki.WikiCall.test(WikiCall.java:23)
at main.wiki.WikiCall.main(WikiCall.java:32)
Caused by: java.lang.ClassNotFoundException: org.apache.commons.httpclient.HttpMethod
    at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
    ... 4 more

似乎我缺少用于连接的 http jar,但是没有 zip 文件,我认为 bliki-core.jar 应该包含它。

有什么建议么?

4

2 回答 2

0

这个问题是,即使您添加了 HttpClient,您也可能会遇到其他错误,因为 Bliki 库依赖于许多 3rd 方库。

如果您不熟悉 Maven 构建工具,可能值得一看,因为它的一个特性是它会传递地解决依赖关系。

作为快速入门:

在 Eclipse 中:

  1. 文件 > 新建 > 其他 > Maven 项目

  2. 选择“创建简单项目”复选框。

  3. 输入 my.bliki.project 作为组 ID,输入 bliki-test 作为工件 ID。

  4. 将生成的 pom.xml 的内容替换为以下内容。

  5. 右键单击项目并选择“Maven > 更新项目”。

你现在有一个项目,其中包含 Bliki 和构建路径上的所有 3rd p;arty 依赖项(展开 Maven Dependencies 文件夹以查看它们是什么)。

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>my.bliki.project</groupId>
    <artifactId>bliki-test</artifactId>
    <version>0.0.1-SNAPSHOT</version>

    <dependencies>
        <dependency>
            <groupId>info.bliki.wiki</groupId>
            <artifactId>bliki-core</artifactId>
            <version>3.0.19</version>
        </dependency>
    </dependencies>

</project>
于 2014-10-21T18:29:02.470 回答
0

我不熟悉,Bliki但从您的堆栈跟踪来看,您似乎缺少Http Clientfrom Apache Commons

您应该将 jar 添加到您的项目中,这应该可以解决问题。

从这里获取 jar:http: //hc.apache.org/

于 2014-10-21T18:16:33.433 回答