Expand Authors Top

If you have a few years of experience in the Java ecosystem and you’d like to share that with the community, have a look at our Contribution Guidelines.

Expanded Audience – Frontegg – Security (partner)
announcement - icon User management is very complex, when implemented properly. No surprise here.

Not having to roll all of that out manually, but instead integrating a mature, fully-fledged solution - yeah, that makes a lot of sense.
That's basically what Frontegg is - User Management for your application. It's focused on making your app scalable, secure and enjoyable for your users.
From signup to authentication, it supports simple scenarios all the way to complex and custom application logic.

Have a look:

>> Elegant User Management, Tailor-made for B2B SaaS

Java Top

Get started with Spring 5 and Spring Boot 2, through the Learn Spring course:

> CHECK OUT THE COURSE

1. Introduction

In this quick tutorial, we'll learn how to find JAVA_HOME on Windows, Mac, and Linux.

As we all know, JAVA_HOME is an environment variable that we commonly use to locate java executables, like java and javac.

2. Windows-Specific Ways to Find JAVA_HOME

If we're using Windows as the operating system, first we need to open up our command line (cmd) and type:

echo %JAVA_HOME%

If JAVA_HOME is defined in our environment, then the above command will print it out.

Or to show the location of the java executable, we can try:

where java

3. macOS and Linux-Specific Ways to Find JAVA_HOME

If we're using either macOS or Linux, we can open up our terminal and type:

echo $JAVA_HOME

If JAVA_HOME is defined in our environment, then the above command will print it out.

Or we could try:

which java

This probably just shows us /usr/bin/java, which really isn't very helpful since it's a symbolic link. To unravel this, we'll use dirname and readlink.

For Linux:

dirname $(dirname $(readlink -f $(which javac)))

For macOS:

$(dirname $(readlink $(which javac)))/java_home

This command prints the currently used java folder.

4. Using Java to Find JAVA_HOME

If we're able to run java ourselves, then we have a nearly platform-independent way as well:

java -XshowSettings:properties -version

Running this command outputs numerous properties, one of them being java.home.

To parse it though, we'll still need a platform-specific tool.

For Linux and macOS, we'll use grep:

java -XshowSettings:properties -version 2>&1 > /dev/null | grep 'java.home' 

For Windows, we'll use findstr:

java -XshowSettings:properties -version 2>&1 | findstr "java.home"

5. Conclusion

In this brief article, we learned how to find JAVA_HOME on different operating systems.

If this didn't work though, it's possible we didn't set the JAVA_HOME variable properly while installing Java.

Java bottom

Get started with Spring 5 and Spring Boot 2, through the Learn Spring course:

>> CHECK OUT THE COURSE
Generic footer banner
3 Comments
Oldest
Newest
Inline Feedbacks
View all comments
Comments are closed on this article!