Jena DatasetAccessor Http-несовместимость

Я пытаюсь обновить конечную точку данных фузеки из Йены. Я использую класс Jena DatasetAccessor, но не могу скомпилировать свой код. Это пример кода, который я использую:

public class Tutorial01 {

public static void main(String args[]) {
    // Create a simple model
    Model model = ModelFactory.createDefaultModel();
    Resource johnSmith = model.createResource("http://somewhere/JohnSmith");
    johnSmith.addProperty(VCARD.FN, "John Smith");


    //Create an HTTP Data accessor
    DatasetAccessor accessor=DatasetAccessorFactory.createHTTP("http://localhost:3030/FirstONe/data");
    //Store the model on the server
    accessor.putModel(model);
}

-В последней строке кода я получаю следующую ошибку:

Exception in thread "main" java.lang.NoSuchFieldError: DEF_CONTENT_CHARSET
at org.apache.http.impl.client.DefaultHttpClient.setDefaultHttpParams(DefaultHttpClient.java:181)
at org.apache.http.impl.client.DefaultHttpClient.createHttpParams(DefaultHttpClient.java:159)
at org.apache.http.impl.client.AbstractHttpClient.getParams(AbstractHttpClient.java:466)
at org.apache.http.impl.client.AbstractHttpClient.determineParams(AbstractHttpClient.java:1005)
at org.apache.http.impl.client.AbstractHttpClient.doExecute(AbstractHttpClient.java:824)
at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:82)
at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:55)
at org.apache.jena.riot.web.HttpOp.exec(HttpOp.java:1097)
at org.apache.jena.riot.web.HttpOp.execHttpPut(HttpOp.java:979)
at org.apache.jena.web.DatasetGraphAccessorHTTP.doPut(DatasetGraphAccessorHTTP.java:175)
at org.apache.jena.web.DatasetGraphAccessorHTTP.httpPut(DatasetGraphAccessorHTTP.java:165)
at org.apache.jena.web.DatasetAdapter.putModel(DatasetAdapter.java:63)
at Main.Tutorial01.main(Tutorial01.java:24)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:497)
at com.intellij.rt.execution.application.AppMain.main(AppMain.java:144)

Я читал в Интернете, что это должно быть проблемой с несовместимыми версиями HttpCore и HttpClient (вопрос StackOverflow ) или несколько версий HttpCore в пути к классу (jena mailing list) или версии, несовместимые с Jena.

Я пробовал с 4.2.6, 4.2.5, 4.4, и ни один из них не работал.

Кто-то знает, какую версию лучше использовать или решал подобную проблему?

Спасибо всем


person Luca Ambrosini    schedule 05.03.2016    source источник
comment
Либо используйте jar-файлы, предоставленные в загрузке Jena (двоичный zip-файл поставляется с правильными JAR-файлами Apache Common Http), либо, что лучше, используйте maven (gradle, ant/ivy,...) для управления зависимостями, и они будут получать правильные версия. Опубликованное POM называет правильную версию, если вы хотите просмотреть ее.   -  person AndyS    schedule 05.03.2016