Я пытаюсь использовать CouchDB с JAVA. Это ужасно!!! Вот код, который я нашел на net:
package project.couchdb;
import java.net.MalformedURLException;
import org.ektorp.CouchDbConnector;
import org.ektorp.CouchDbInstance;
import org.ektorp.http.HttpClient;
import org.ektorp.http.StdHttpClient;
import org.ektorp.impl.StdCouchDbConnector;
import org.ektorp.impl.StdCouchDbInstance;
import org.ektorp.support.DesignDocument;
public class CouchConnect {
public static void main(String[] args) throws MalformedURLException{
//connection
HttpClient client = new StdHttpClient.Builder().url("http://127.0.0.1:5984").build();
CouchDbInstance dbIstance = new StdCouchDbInstance(client);
//database
CouchDbConnector db = new StdCouchDbConnector("test", dbIstance);
db.createDatabaseIfNotExists();
//document
DesignDocument doc = new DesignDocument("test_doc");
db.create(doc);
}
}
Ошибки:
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/http/impl/client/cache/CacheConfig
at org.ektorp.http.StdHttpClient$WithCachingBuilder.withCaching(StdHttpClient.java:533)
at org.ektorp.http.StdHttpClient$Builder.build(StdHttpClient.java:523)
at project.couchdb.CouchConnect.main(CouchConnect.java:18)
Caused by: java.lang.ClassNotFoundException: org.apache.http.impl.client.cache.CacheConfig
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
... 3 more
У меня есть просто добавил .jar, потому что консоль выдавала мне ошибку, такую как ClassNotFoundException, но на этот раз я не могу найти файл .jar для добавления. У кого-нибудь есть ссылка для загрузки .jar или любого другого решения?
PS: я использую eclipse на windows 10, если это уместно
После добавления оставшихся .jar у меня есть это ошибки:
SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
SLF4J: Defaulting to no-operation (NOP) logger implementation
SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.
Exception in thread "main" java.lang.NoSuchMethodError: org.apache.http.client.utils.URLEncodedUtils.parsePathSegments(Ljava/lang/CharSequence;)Ljava/util/List;
at org.apache.http.impl.client.cache.CacheKeyGenerator.getRequestUri(CacheKeyGenerator.java:78)
at org.apache.http.impl.client.cache.CacheKeyGenerator.getURI(CacheKeyGenerator.java:118)
at org.apache.http.impl.client.cache.CacheInvalidator.flushInvalidatedCacheEntries(CacheInvalidator.java:86)
at org.apache.http.impl.client.cache.BasicHttpCache.flushInvalidatedCacheEntriesFor(BasicHttpCache.java:361)
at org.apache.http.impl.client.cache.CachingHttpClient.flushEntriesInvalidatedByRequest(CachingHttpClient.java:596)
at org.apache.http.impl.client.cache.CachingHttpClient.execute(CachingHttpClient.java:457)
at org.apache.http.impl.client.cache.CachingHttpClient.execute(CachingHttpClient.java:345)
at org.ektorp.http.StdHttpClient.executeRequest(StdHttpClient.java:177)
at org.ektorp.http.StdHttpClient.executeRequest(StdHttpClient.java:192)
at org.ektorp.http.StdHttpClient.head(StdHttpClient.java:146)
at org.ektorp.http.RestTemplate.head(RestTemplate.java:109)
at org.ektorp.impl.StdCouchDbInstance.checkIfDbExists(StdCouchDbInstance.java:98)
at org.ektorp.impl.StdCouchDbInstance.createDatabaseIfNotExists(StdCouchDbInstance.java:63)
at org.ektorp.impl.StdCouchDbInstance.createDatabaseIfNotExists(StdCouchDbInstance.java:59)
at org.ektorp.impl.StdCouchDbConnector.createDatabaseIfNotExists(StdCouchDbConnector.java:413)
at project.couchdb.CouchConnect.main(CouchConnect.java:23)