Skip to content

Latest commit

History

44 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

java-locator

crates.ioBuild

This is a small utility written in Rust.

It locates the active Java installation in the host.

Usage

The utility can be used as a library, or as an executable:

Library

externcrate java_locator;fnmain() -> java_locator::errors::Result<()>{let java_home = java_locator::locate_java_home()?;let dyn_lib_path = java_locator::locate_jvm_dyn_library()?;let libjsig = java_locator::locate_file("libjsig.so")?;println!("The java home is {}", java_home);println!("The jvm dynamic library path is {}", dyn_lib_path);println!("The file libjsig.so is located in {}", libjsig);Ok(())}

Executable

Having rust installed, you may install the utility using cargo:

cargo install java-locator --features build-binary

And then, issuing

java-locator

you should have an output like:

/usr/lib/jvm/java-11-openjdk-amd64

You may retrieve the location of the jvm shared library:

java-locator --jvmlib

should give an output like:

/usr/lib/jvm/java-11-openjdk-amd64/lib/server

This may be used in cases when the LD_LIBRARY_PATH (or PATH in windows) should be populated.

You may also retrieve the location of any file inside the Java installation:

java-locator --file libjsig.so

and you can even use wildcards:

java-locator --file libjsig*

The latter two commands should return something like:

/usr/lib/jvm/java-11-openjdk-amd64/lib

License

At your option, under:

About

A utility that locates the active Java installation in the host.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages