Skip to content
This repository was archived by the owner on Jul 5, 2023. It is now read-only.

MarkusJx/java-rs

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

19 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

java-rs

Note: The bindings have been moved back into node-java-bridge.

Bindings to the JVM for rust focussing on calling java methods from rust.

This is mainly used by node-java-bridge.

Usage

Creating a new jvm

use java_rs::java_vm::{JavaVM, InternalJavaOptions};

fn create_jvm() -> ResultType<JavaVM> {
    JavaVM::new(
        &"1.8".to_string(),
        None,
        vec![],
        InternalJavaOptions::default()
    )
}

Calling a java method

fn method_call() -> ResultType<()> {
    let env = jvm.attach_thread()?;

    let class = env.find_class("java/lang/String")?;
    let method = class.get_static_method_id(class, "valueOf", "(I)Ljava/lang/String;")?;
    let res = method.call(&[JavaInt::new(123).as_arg()])?;
    let str = JavaString::try_from(res)?;
    
    println!("{}", str.to_string()?);
}

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages