How to Set JAVA_HOME on a Mac

how to set JAVA_HOME on a Mac featured

If you’re using Java on your Mac, it will need to know where Java is installed. Learn how to set JAVA_HOME on a Mac.

Java is a highly popular programming language and platform that’s used to run software on everything from computers and game consoles to smartphones and sat nav systems. It’s also used by applications that run on your Mac.

Some of these applications make use of an environment variable that directs to the location where Java was installed. For these applications to run as expected, you may need to set JAVA_HOME to point to the correct location. You can also use the variable to specify which version of Java to use if you have more than one version installed.

Here’s how to set JAVA_HOME on a Mac.

What is JAVA_HOME on Mac?

JAVA_HOME is an environment variable that tells your Mac where Java is installed. If you have multiple installations, you can also use JAVA_HOME to determine which version to use.

Some applications can work without this variable, but others may not work as expected until JAVA_HOME has been set. If this is the case, you’ll need to manually set JAVA_HOME on your Mac to point to the JDK that you want to use.

How to Determine Which Shell You’re Using on Mac

The method for setting JAVA_HOME on Mac will differ depending on the default shell that you’re using in Terminal. This will usually be either bash or zsh, with zsh being the default on newer Macs, and bash the default on older ones.

You can quickly determine which shell you’re using in Terminal, or change the default terminal shell if you wish.

To see which shell you’re using on your Mac:

  1. Open Terminal.
  2. Type the following command and then press Enter:
    echo $0
  3. You’ll see the current shell listed.
    mac java current shell

How to Set JAVA_HOME on zsh

If you’re using zsh, the following steps will allow you to find the path for your Java JDK. You can then set JAVA_HOME to that path. Once you’ve done so, JAVA_HOME can be used as direction to the correct location for your Java JDK installation.

To set JAVA_HOME on zsh:

  1. Open Terminal.
  2. To find your Java JDK directory, enter the following and press Enter:
  3. You’ll see the path to your Java installation.
    mac java path
  4. To set JAVA_HOME to this path, enter the following, replacing the path shown with the path returned in step 1 above:
    echo export "JAVA_HOME=/Library/Java/JavaVirtualMachines/microsoft-11.jdk/Contents/Home" ≫ ~/.zshrc
  5. Enter the following:
    source ~/.zshrc
  6. To check that JAVA_HOME has been set to the correct path, enter:
    echo $JAVA_HOME
  7. You should see the correct path for your Java installation.

How to Set JAVA_HOME on bash

If you’re using an older version of macOS, the default shell is likely to be bash. You can set JAVA_HOME in a similar way, but the file you’ll to amend is different.

To set JAVA_HOME on bash:

  1. Open Terminal.
  2. Locate your Java JDK directory by entering the following command:
  3. Make a note of the path where Java is located.
    mac java path
  4. Enter the following command, replacing the JAVA_HOME path with the path you noted down in step 3:
    echo export "JAVA_HOME=/Library/Java/JavaVirtualMachines/microsoft-11.jdk/Contents/Home" ≫ ~/.bash_profile
  5. Restart Terminal or enter the following command:
    source ~/.bash_profile
  6. To check the path of JAVA_HOME enter:
    echo $JAVA_HOME
  7. You should see the path you noted down in step 3.

How to Use a Specific JDK for JAVA_HOME

You may have multiple versions of Java installed on your computer. If so, you may want to set a specific version for JAVA-HOME. You can do this by referring to the version number.

To set a specific JDK for JAVA_HOME:

  1. Open Terminal.
  2. To see all of the versions of Java you have installed, enter the following:
    /usr/libexec/java_home -V
  3. You’ll now see a list of the versions and their locations.
    mac list of installed java jdks
  4. To set a specific version of Java to JAVA_HOME on bash, enter the following, replacing the version number with the version of the JDK you want to use:
    echo export "JAVA_HOME=\$(usr/libexec/java_home v-11)" ≫ ~/.bash_profile
  5. To set a specific version on zsh, enter the following:
    echo export "JAVA_HOME=\$(usr/libexec/java_home v-11)" ≫ ~/.zshrc
  6. Restart Terminal or enter:
    source ~/.bash_profile


    source ~/.zshrc
  7. Enter the following to check the version of Java set to JAVA_HOME:
    echo $JAVA_HOME
  8. If this does not return the correct location, repeat steps 1-6, but replace \$(usr/libexec/java_home v-11) with the full path of the JDK, such as =/Library/Java/JavaVirtualMachines/microsoft-11.jdk/Contents/Home

Managing Your Mac Settings

Learning how to set JAVA_HOME on a Mac ensures that the right version of Java gets used by applications that require this variable. There are plenty of other ways you can take more control of your Mac.

You can learn how to disable automatic brightness on your Mac if it’s always too dim or too bright. You can learn how to use dictation on Mac if you’re tired of having to type. And you can even save yourself a little typing by enabling automatic login on a Mac, so you don’t need to keep entering your credentials.

Click to comment

Leave a Reply

Your email address will not be published. Required fields are marked *


To Top