1

我正在尝试从 Jena 更新我的 fuseki 数据端点。我正在使用 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 邮件列表)或与 Jena 不兼容的版本的问题。

我已经尝试过 4.2.6、4.2.5、4.4,但它们都没有奏效。

有人知道哪个是正确的版本或解决了类似的问题吗?

感谢大家

4

0 回答 0