Основываясь на указателе от Светлина Зарева , я смог покопаться в документации и выяснить правильный синтаксис для включения функции вызова.
Самым важным было изменение в Cargo.toml. Строка документации для ящика может быть полезна, если включить этот пункт для людей с меньшим опытом написания Cargo.toml:
[package]
name = "rust_call_jni"
version = "0.1.0"
authors = ["Robert Forsman <git@thoth.purplefrog.com>"]
edition = "2018"
[dependencies.jni]
version = "0.12.3"
features = ["invocation"]
Мне пришлось изменить main.rs, чтобы исправить некоторые ошибки, которые были замаскированы предыдущими ошибками:
use jni::{InitArgsBuilder, JNIVersion, JavaVM};
fn main() {
let jvm_args = InitArgsBuilder::new()
.version(JNIVersion::V8)
.option("-Xcheck:jni")
//.option(&format!("-Djava.class.path={}", heinous_classpath()))
.build()
.unwrap_or_else(|e| //panic!("{}", e.display_chain().to_string())
panic!("{:?}", e));
let jvm = JavaVM::new(jvm_args);
}