Skip to content

Commit

Permalink
Add example of using JNE to help find a locale JDK
Browse files Browse the repository at this point in the history
  • Loading branch information
jjlauer committed Nov 3, 2023
1 parent ed932a7 commit 53f48ac
Show file tree
Hide file tree
Showing 2 changed files with 47 additions and 0 deletions.
3 changes: 3 additions & 0 deletions examples/find_java.conf
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
blaze.dependencies = [
"com.fizzed:jne:4.1.1"
]
44 changes: 44 additions & 0 deletions examples/find_java.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
import com.fizzed.blaze.Contexts;
import org.slf4j.Logger;
import com.fizzed.jne.*;

import java.util.List;

public class find_java {

final private Logger log = Contexts.logger();

public void main() throws Exception {
log.info("Finding all JVMs on your system...");

final List<JavaHome> javaHomes = JavaHomes.detect();

for (JavaHome javaHome : javaHomes) {
log.info("{}", javaHome);
log.info(" javaExe: {}", javaHome.getJavaExe());
log.info(" javacExe: {}", javaHome.getJavacExe());
log.info(" nativeImageExe: {}", javaHome.getNativeImageExe());
log.info(" imageType: {}", javaHome.getImageType());
log.info(" version: {}", javaHome.getVersion());
log.info(" major: {}", javaHome.getVersion().getMajor());
log.info(" minor: {}", javaHome.getVersion().getMinor());
log.info(" security: {}", javaHome.getVersion().getSecurity());
log.info(" os: {}", javaHome.getOperatingSystem());
log.info(" arch: {}", javaHome.getHardwareArchitecture());
log.info(" distro: {}", javaHome.getDistribution());
log.info(" vendor: {}", javaHome.getVendor());
}

// now, let's use the JavaHomeFinder to narrow our match to something awesome
final JavaHome jdk = new JavaHomeFinder()
.jdk()
.maxVersion(21)
.minVersion(8)
.preferredDistributions()
.sorted()
.find();

log.info("Found JVM {}", jdk);
}

}

0 comments on commit 53f48ac

Please sign in to comment.