Runtime Execution

Overview

The JavaRuntime struct provides execution of Java processes with real-time I/O streaming.

Basic Execution

use lighty_java::runtime::JavaRuntime;

#[tokio::main]
async fn main() {
    let java_path = "/path/to/java";

    let mut runtime = JavaRuntime::new(java_path);
    runtime.add_arg("-version");

    runtime.run(
        |line| println!("[STDOUT] {}", line),
        |line| eprintln!("[STDERR] {}", line),
    ).await.unwrap();
}

Building Arguments

Chaining Method

From Vec

Memory Configuration

Basic Memory Settings

Output Streaming

Real-time Console Output

Filtering Output

Logging to File

Process Management

Execution Flow

spinner

Exit Code Handling

Common Use Cases

Running Minecraft Client

Version Check

Performance Optimization

GraalVM Arguments

ZGC (Java 17+)

Shenandoah GC

Error Handling

Runtime Errors

Advanced Features

Environment Variables

Working Directory

Input Streaming

For interactive Java programs:

See Also

Last updated