You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Mac下Rust JNI测试环境搭建问题:无法找到libjava.dylib

Mac下JNI Rust测试环境启动失败:找不到libjava.dylib

我正在使用crate jni = { version = "0.20.0", features = ["invocation"] } 搭建可运行JNI代码的测试环境,启动代码如下:

let jvm_args = InitArgsBuilder::new()
    .version(JNIVersion::V8)
    .option("-Xcheck:jni")
    .build()
    .unwrap();

let jvm = JavaVM::new(jvm_args).unwrap();
let _guard = jvm.attach_current_thread().unwrap();
let env = jvm.get_env().unwrap();
JavaClasses::init(&env);

但在Mac上无法运行,当IDE RustRover 启动二进制文件时,总是无法找到动态链接库,报错:

Error: could not find libjava.dylib
Failed to GetJREPath()

我尝试查看二进制文件的rpath信息,没有返回结果:

➜  blaze git:(tests) ✗ otool -l xxxlaze/target/debug/deps/blaze_tests-b310798913eec8e4 | ag -C 5 LC_RPATH       
➜  blaze git:(tests) ✗ 

我已尝试在build.rs中进行如下设置,但问题仍未解决:

println!("cargo:rustc-link-search=native={}", libjvm_path.display());
// println!("cargo:rustc-link-arg=-Wl,-rpath={}", libjvm_path.display());
println!("cargo:rustc-env=LD_LIBRARY_PATH={}", libjvm_path.display());

内容的提问来源于stack exchange,提问作者zinking

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.05 01:56:04