Jdk 7 On Homebrew

From the below output, we can see there are three JDK that has been installed, one ( adoptopenjdk-8.jdk ) is installed with homebrew, the other two ( jdk-12.0.1.jdk, jdk1.8.0211.jdk ) are installed by download installation file from oracle. JDK 7 Installation on Linux Platforms - both 32-bit and 64-bit, including RPM. JRE 7 Installation on Linux Platforms - both 32-bit and 64-bit, including RPM. Server JRE 7 Installation on Linux Platforms - 64-bit. In order to run Java applets within a browser, you must install the JRE plugin manually. This does not apply to the Server JRE.

During one of AWS Lambda exploration projects, I need to use Amazon’s swagger-import-tool for uploading swagger documents to AWS. The problem is that this tool has a dependency on Java 8, however, my installed JDK is 7, and I have to keep it for all existing Java projects. It seems that I need to have something like NVM (Node Version Manager) … this time for JDKs.

After some Google searches, a promising solution is to use jEnv – a command line tool to set JAVA_HOME on the fly.

Jdk 7 on homebrew free

Homebrew Cask

On Mac, Homebrew is the de-facto package manager, and Homebrew Cask is the app manager. I’m going to use Cask to install Java 7 and 8.

Install Homebrew Cask first if you haven’t:

If your brew or cask is outdated, update and upgrade:

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:

If Java 7 is installed, you should see something like this:

Otherwise, install Java 7:

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:

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

Enter jEnv

Now it is time to install jEnv:

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

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):

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

Jdk

The output will be something like this:

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:

Notes

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

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

Tap

Preface

References

To learn more about jEnv, here I list some references:

  • jEnv official site
  • The Stackoverflow thread
  • Andrew John’s blog post

Notes