我正在做我的大学项目,我使用最新版本的RocksDB和Maven来存储我的键值数据:
<dependency>
<groupId>org.rocksdb</groupId>
<artifactId>rocksdbjni</artifactId>
<version>5.5.1</version>
</dependency>。它在我的机器上运行得很好,但当我试图在我的Raspberry Pi 2上运行它时,我得到了一个错误:
Exception in thread "main" java.lang.UnsatisfiedLinkError: /tmp/librocksdbjni5424421652341245125.so: /tmp/librocksdbjni5424421652341245125.so: cannot open shared object file: No such file or directory (Possible cause: can't load IA 32-bit .so on a ARM-bit platform)
at java.lang.ClassLoader$NativeLibrary.load(Native Method)
at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1938)
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1821)
at java.lang.Runtime.load0(Runtime.java:809)
at java.lang.System.load(System.java:1086)
at org.rocksdb.NativeLibraryLoader.loadLibraryFromJar(NativeLibraryLoader.java:78)
at org.rocksdb.NativeLibraryLoader.loadLibrary(NativeLibraryLoader.java:56)
at org.rocksdb.RocksDB.loadLibrary(RocksDB.java:64)
at org.rocksdb.RocksDB.<clinit>(RocksDB.java:35)
at Main.main(Main.java:39)这意味着RocksJava不支持ARM平台吗?如果不是,我可以在我的Maven项目中使用什么替代方案?(我尝试使用这个库,但它有很多错误和未实现的方法:https://github.com/dain/leveldb)
发布于 2018-04-05 18:19:20
RocksDB是用C++编写的,这意味着本机代码。从https://github.com/facebook/rocksdb/blob/master/INSTALL.md上看,它似乎非常便携,而且在Raspbian (即Debian Linux)上安装应该相对容易。那么你的Java模块就可以工作了。
否则,可以找到另一个用Java编写的键值存储,或者学习JDBC并使用数据库。Derby是用Java编写的。
https://stackoverflow.com/questions/49664306
复制相似问题