经历各种坑,终于能在IDEA中成功安装调试RocksDB了,现总结如下:
1、下载
(1)在官网下载 rocksdb-rocksdb-4.1.zip 并解 压;
(2)在org.kevoree.mwg下载rocksdb-6.jar,网址:https://www.mvnjar.com/org.kevoree.mwg.plugins/rocksdb/6/detail.html(或下载最新版https://www.mvnjar.com/org.kevoree.mwg.plugins/rocksdb/jar.html)。
2、设置MAVEN依赖
<dependency>
<groupId>org.kevoree.mwg.plugins</groupId>
<artifactId>rocksdb</artifactId>
<version>6</version>
</dependency>
<dependency>
<groupId>org.rocksdb</groupId>
<artifactId>rocksdbjni</artifactId>
<version>5.17.2</version>
</dependency>
3、项目加载模块
在Project structure ->Libreries中,引入org.kevoree.mwg的rocksdb-6.jar,如下图:
4、数据库初始化并打开
RocksDB.loadLibrary();
RocksDB.open('db文件夹')
5、实例
import org.rocksdb.*; import org.rocksdb.util.SizeUnit; import java.util.ArrayList; import java.util.Arrays; import java.util.List; import java.util.Map; public class RocksdbSample { static { RocksDB.loadLibrary(); } public static <db> void main(final String[] args) { final String db_path = System.getProperty("user.dir")+"\\dbfile"; final String db_path_not_found = db_path + "_not_found"; RocksDB db = null; try ( final Options options = new Options(); final Filter bloomFilter = new BloomFilter(10); final ReadOptions readOptions = new ReadOptions() .setFillCache(false); final Statistics stats = new Statistics(); final RateLimiter rateLimiter = new RateLimiter(10000000,10000, 10)) { try { db = RocksDB.open( db_path); assert (false); db.put("hello".getBytes(), "world".getBytes()); final byte[] value = db.get("hello".getBytes()); assert ("world".equals(new String(value))); final String str1 = db.getProperty("rocksdb.stats"); assert (str1 != null && !str1.equals("")); } catch (final RocksDBException e) { System.out.format("Caught the expected exception -- %s\n", e); }
}
}