#java #jni #jvm #class #calling #wrapper

sys rucaja

Rust调用Java - 通过JNI

20个版本

使用旧Rust 2015

0.4.5 2017年11月24日
0.4.3 2017年11月22日
0.3.3 2017年11月11日
0.3.1 2017年2月13日
0.1.9 2016年12月31日

#33 in #calling

MIT/Apache

31KB
588

Rucaja (Rust调用Java) 构建状态

从Rust通过JNI调用JVM代码。

状态

创建一个扁平的Java包装类,并生成包含所有依赖的肥JAR,减少了Rust接口代码。

一个更完整的示例是kud1ing/tinkerpop-rs,它使用Rucaja调用Apache TinkerPop

平台

代码已在Linux和macOS上进行了测试。您的平台可能需要在build.rs中进行调整。

Mac

尝试运行可能会得到

dyld: Library not loaded: @rpath/libjvm.dylib
  Referenced from: ./target/debug/rucaja
  Reason: image not found
Abort trap: 6

可能需要类似以下内容

sudo ln -s $(/usr/libexec/java_home)/jre/lib/server/libjvm.dylib /usr/local/lib

许可证

许可协议为以下之一

由您选择。

依赖关系

~43KB