Java NoClass Обнаружена ошибка
Я пытаюсь использовать Bliki для доступа и анализа вики-страниц. Я просто скачал 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 должен его содержать.
Какие-либо предложения?
2 ответа
Эта проблема заключается в том, что даже после добавления HttpClient вы, вероятно, получите другие ошибки, поскольку библиотека Bliki зависит от ряда сторонних библиотек.
Если вы не знакомы с инструментом сборки Maven, возможно, стоит взглянуть, поскольку одной из функций является то, что он транзитивно разрешает зависимости.
Как быстрый старт:
В Eclipse делаем:
Файл> Создать> Другое> Maven Project
Установите флажок "Создать простой проект".
Введите my.bliki.project в качестве идентификатора группы и bliki-test в качестве идентификатора артефакта.
Замените содержимое созданного файла pom.xml следующим.
Щелкните правой кнопкой мыши по проекту и выберите "Maven"> "Обновить проект".
Теперь у вас есть проект с Bliki и всеми 3-мя зависимостями на пути сборки (разверните папку 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>
Я не знаком с Bliki
но из вашей стековой трассировки похоже, что вам не хватает Http Client
от Apache Commons
,
Вы должны добавить банку в свой проект, и это должно решить проблему.
Получить банку отсюда: http://hc.apache.org/