Skip to content

Instantly share code, notes, and snippets.

@alChaCC
Forked from tomysmile/brew-java-and-jenv.md
Last active July 23, 2020 09:17
Show Gist options
  • Save alChaCC/ddb11542c9e6b6683bad80d9ca858bc5 to your computer and use it in GitHub Desktop.
Save alChaCC/ddb11542c9e6b6683bad80d9ca858bc5 to your computer and use it in GitHub Desktop.
How To Install Java 8 on Mac

Install HomeBrew first

brew update
brew tap caskroom/cask
brew install brew-cask

If you get the error "already installed", follow the instructions to unlink it, then install again:

brew unlink brew-cask
brew install brew-cask

upgrade brew:

brew update && brew upgrade brew-cask && brew cleanup && brew cask cleanup

Install Java 7 and 8

People on the Stackoverflow cautioned not to install 8 until 7 is installed. So we are going to install JDK 7 first.

Unlike other version managers such as NVM, jEnv itself doesn’t install JDKs. You have to do it yourself. Luckily, Homebrew Cask made this task really easy. But before doing that, let’s check if we already have JDK 7 installed by Homebrew Cask:

brew tap caskroom/versions
brew cask info java7

install Java 7:

brew cask install java7

If you run into permission issue, add sudo at the beginning of the above command.

As of today, Java 8 is the latest stable. Run the following command to install Java 8:

brew cask install java

These two JDKs will be installed at the following directories. Your JDKs’ minor and patch versions might be different.

/Library/Java/JavaVirtualMachines/jdk1.7.0_79.jdk/Contents/Home/
/Library/Java/JavaVirtualMachines/jdk1.8.0_66.jdk/Contents/Home/

Enter jEnv

Now it is time to install jEnv:

brew install jenv

Add the following lines to ~/.bash_profile. This will initialize jEnv.

# Init jenv
if which jenv > /dev/null; then eval "$(jenv init -)"; fi

ps. If you're using Zsh just like me.

echo 'export PATH="$HOME/.jenv/bin:$PATH"' >> ~/.zshrc
echo 'eval "$(jenv init -)"' >> ~/.zshrc

jEnv doesn’t install JDKs, so we have to tell jEnv where to look for them. Type these commands to register JDKs in jEnv (replace the minor and patch versions with yours):

before you add to jenv.

mkdir -p ~/.jenv/versions

Then

jenv add /Library/Java/JavaVirtualMachines/jdk1.7.0_79.jdk/Contents/Home/
jenv add /Library/Java/JavaVirtualMachines/jdk1.8.0_66.jdk/Contents/Home/

After that, run this command to list all registered JDKs:

jenv versions

The version with an asterisk is the active version.

In my case, I need to keep JDK 7 as my default version, so I set the global version to 1.7:

jenv global oracle64-1.7.0.79

And in my project, I set the local JDK version to 1.8:

cd <my project>
jenv local oracle64-1.8.0.66

The above command will create a .java-version file at project root. Its content is the version I just picked for this project:

oracle64-1.8.0.66

@angieshu
Copy link

@f3l1x
Copy link

f3l1x commented Jul 21, 2018

Works for me.

brew update
brew tap caskroom/cask
brew cask install java
brew intall [email protected]

@mgoldsmith1
Copy link

mgoldsmith1 commented Aug 7, 2018

Try this installation script:

https://github.com/mgoldsmith1/iCheckInstallJava

This is for installing Java 8 on MacOS X. It also checks the version of Java currently installed on your machine.

@anna-llorens
Copy link

This will now install Java 9

If you want Java 8:

brew tap caskroom/versions
brew cask install java8

This command:

brew tap caskroom/versions

has been updated to:

brew tap homebrew/cask-versions

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment