1.下载rocksdbjni-5.7.3源码。
wget https://codeload.github.com/facebook/rocksdb/zip/v5.7.3
2.解压源码。
mv v4.3.1 rocksdbjni-5.7.3.zip
unzip rocksdbjni-5.7.3.zip
3.修改Makefile,将DEBUG_LEVEL设为0。
4.编译打包,rocksdbjni-5.7.3-linux64.jar位于“rocksdb-5.7.3/java/target”目录。
make rocksdbjava -j8
rocksdbjni-5.14.2.jar
1.下载rocksdbjni-5.14.2源码。
wget https://codeload.github.com/facebook/rocksdb/zip/v5.14.2
2.解压源码。
mv v5.14.2 rocksdbjni-5.14.2.zip
unzip rocksdbjni-5.14.2.zip
3.修改Makefile,将DEBUG_LEVEL设为0。
4.编译打包,rocksdbjni-5.14。2-linux64.jar位于“rocksdb-5.14.2/java/target”目录。
make rocksdbjava -j8
问题一:编译好的jar包大小比从Maven仓库下载的大
现象描述:
编译好的jar包大小比从Maven仓库下载的大。
可能原因:
Jar包内的librocksdbjni-linux64.so包含符号信息。
处理步骤:
执行strip命令去掉符号信息。
问题二:找不到jni.h或者jni_md.h
现象描述:
提示找不到jni.h或者jni_md.h
可能原因:
没有配置JAVA_HOME路径。
处理步骤:
配置JAVA_HOME路径。
再次编如果还出错,则将编译使用的JDK中的jni.h和jni_md.h移动到编译根目录。
问题三:编译时报错
现象描述:
编译时报错。
处理步骤:
使用以下编译命令进行编译。
PORTABLE=1 make rocksdbjava -j8
问题四:va_list不能与nullptr进行比较
现象描述:
编译时出现错误:va_list不能与nullptr进行比较。
处理步骤:
注释掉java/rocksjni/loggerjnicallback.cc的151行,重新编译。
问题五:Connect to central.maven.org:80 connection timed out
现象描述:
编译是出现错误:提示Connect to central.maven.org:80 connection timed out
处理步骤:
修改 java/Makefile文件189行的maven仓库地址为http://repo1.maven.org/maven2/
vim java/Makefile
问题六:assertj-core-1.7.1.jar error in opening zip file 1 error
问题描述:
编译时提示不能打开assertj-core-1.7.1.jar
处理步骤:
自己手动去maven仓库下载assertj-core-1.7.1.jar及assertj-core-1.7.1.pom文件放到本地仓库/org/assert/assert-core/1.7.1目录下,下载地址
https://repo1.maven.org/maven2/org/assertj/assertj-core/1.7.1/