Skip to main content

java_manager/
lib.rs

1//! A library for locating Java installations on the local system and executing Java programs.
2//!
3//! This crate provides functionality to:
4//! - Discover Java runtimes via `PATH`, `JAVA_HOME`, or deep system scans.
5//! - Extract detailed metadata (version, vendor, architecture) from each installation.
6//! - Execute Java applications with configurable arguments, memory settings, and I/O redirection.
7//!
8//! # Examples
9//!
10//! ```no_run
11//! use java_manager::{java_home, JavaRunner};
12//!
13//! // Find all Java installations in PATH
14//! let java = java_home().unwrap();
15//! // Run a JAR file
16//! JavaRunner::new()
17//!     .java(java)
18//!     .arg("--version")
19//!     .execute()?;
20//! # Ok::<_, java_manager::JavaError>(())
21//! ```
22
23pub mod error;
24pub mod info;
25pub mod search;
26pub mod local;
27pub mod execute;
28
29pub use info::JavaInfo;
30pub use error::JavaError;
31pub use search::quick_search;
32pub use search::deep_search;
33pub use local::java_home;
34pub use execute::JavaRunner;
35pub use execute::JavaRedirect;