Я создаю окно с графическим интерфейсом, используя крейт Gtk-rs в Rust. У меня есть код Java, вызывающий Rust с использованием JNI.
Процесс компиляции довольно плавный: я создаю динамическую библиотеку (.so) со стороны Rust, загружаю ее в Java, компилирую Java-файлы и создайте исполняемый Java-архив. Собственная библиотека динамически скомпонована.
Однако, когда я запускаю архив, я получаю странное сообщение:
"Неизвестный параметр -jar"< /p>
и ничего не происходит.
Основная функция в Java определяется как:
Код: Выделить всё
//runner.java
public static void main(String[] args) {
Application app = new Application(
"Test",
"/home/radon/RustroverProjects/guiframe/target/release/libguiframe.so"
);
}
Конструктор приложения определяется как (существует только 1 конструктор ):
Код: Выделить всё
public Application(
String name,
String nativeLibAbsolutePath
) {
this.name = name;
bridge = new NativeBridge(nativeLibAbsolutePath); //bridge is a class field
bridge.getApplication(this);
}
Код: Выделить всё
//This is the getApplication method.
#[allow(static_mut_refs)]
#[allow(non_snake_case)]
#[no_mangle]
pub(crate) extern "C" fn Java_ix_radon_guiframe_ffi_NativeBridge_getApplication,
_native_bridge_object: JObject
Подробнее здесь: [url]https://stackoverflow.com/questions/79333278/unknown-option-jar-on-running-a-rust-java-jni-gtk4-application[/url]