java.lang.NoSuchMethodError:org.apache.http.client.methods.RequestBuilder.post

时间:2018-09-07 11:39:48

标签: java apache-httpclient-4.x

  

线程“主”中的异常java.lang.NoSuchMethodError:   org.apache.http.client.methods.RequestBuilder.post(Ljava / lang / String;)Lorg / apache / http / client / methods / RequestBuilder;     在   org.eclipse.rdf4j.http.client.SesameSession.getQueryMethod(SesameSession.java:701)     在   org.eclipse.rdf4j.http.client.SparqlSession.sendTupleQuery(SparqlSession.java:380)     在   org.eclipse.rdf4j.repository.http.HTTPTupleQuery.evaluate(HTTPTupleQuery.java:49)     在   com.cmclinnovations.jps.kb.ontokin.SparqlEndpoint.queryRepository(SparqlEndpoint.java:92)     在   com.cmclinnovations.jps.kb.ontokin.SparqlEndpoint.main(SparqlEndpoint.java:49)

当尝试使用以下代码查询RDF4J三元存储时,我遇到了上述问题。

    try {
        Repository repo = new HTTPRepository(serverURL, repositoryID);
        repo.initialize();
        RepositoryConnection con = repo.getConnection();
        try {
            System.out.println("QueryString:\n"+queryString);
            // Export all statements in the context to System.out, in RDF/XML format
            TupleQuery queryResult = con.prepareTupleQuery(queryString);
            // A QueryResult is also an AutoCloseable resource, so make sure it gets
            // closed when done.
            try (TupleQueryResult result = queryResult.evaluate()) {
                json = getResultInJson(json, result);
            }finally{
                // Before our program exits, make sure the database is properly shut down.
                repo.shutDown();
            }
        } catch(Exception e){
            logger.error("Exception occurred.");
            e.printStackTrace();
            throw new OntoException("Exception occurred.");
        } finally {
            logger.info("Successfully performed query");
            con.close();
        }
    } catch (RDF4JException e) {
        logger.error("RDF4JException occurred.");
        e.printStackTrace();
        throw new OntoException("RDF4JException occurred.");
    }

对于HTTPClient,我将以下依赖项放入了项目的pom文件中。

    <!-- Use Apache HttpClient as HTTP Client -->
    <dependency>
        <groupId>org.apache.httpcomponents</groupId>
        <artifactId>httpclient</artifactId>
        <version>4.3.2</version>
    </dependency>

0 个答案:

没有答案