Skip to main content

deep_search

Function deep_search 

Source
pub fn deep_search() -> Result<Vec<JavaInfo>, JavaError>
Expand description

Performs a deep, platform-aware search for Java installations.

Windows (with everything feature): Uses the Everything SDK for near-instant results. If the Everything service is not running or the SDK is unavailable, automatically falls back to full_search.

Windows (without everything): Delegates directly to full_search.

Linux / macOS: Delegates directly to full_search, which walks standard JVM directories and checks SDKMAN, JBang, asdf-vm, Homebrew, JetBrains IDE-bundled JDKs, and Minecraft runtimes.

§Returns

A Vec<JavaInfo> for every valid Java installation found.

§Errors

Returns JavaError::IoError if file-system operations fail. On Windows (with the everything feature), an Everything IPC error is silently caught and falls back to full_search — this never propagates to the caller.

§Example

use java_manager::deep_search;

let javas = deep_search()?;
println!("Found {} Java installation(s)", javas.len());