I recently got hold of a M1 MacBook Pro and faced with the challenge of setting up java developer env. I wanted to build and run a spring boot project. Natuarally, I used following commands to check and install the latest jdk using Homebrew
Checking available Java versions via Homebrew
1$ brew seach java2
Output
1==> Formulae2app-engine-java java javacc jslint4java pdftk-java3google-java-format java11 javarepl libreadline-java4==> Casks5homebrew/cask-versions/java-beta homebrew/cask/eclipse-java6
Checking the details about the Formulae named java
1$ brew info java2
Output
1openjdk: stable 16.0.1 (bottled) [keg-only]2Development kit for the Java programming language3https://openjdk.java.net/4Not installed5From: https://github.com/Homebrew/homebrew-core/blob/HEAD/Formula/openjdk.rb6License: GPL-2.0-only with Classpath-exception-2.07==> Dependencies8Build: autoconf ✘9==> Requirements10Build: Xcode ✘11==> Caveats12For the system Java wrappers to find this JDK, symlink it with13 sudo ln -sfn /opt/homebrew/opt/openjdk/libexec/openjdk.jdk /Library/Java/JavaVirtualMachines/openjdk.jdk14This is a beta version of openjdk for Apple Silicon15(openjdk 17 preview).1617openjdk is keg-only, which means it was not symlinked into /opt/homebrew,18because macOS provides similar software and installing this software in19parallel can cause all kinds of trouble.2021==> Analytics22install: 152,874 (30 days), 463,335 (90 days), 1,705,669 (365 days)23install-on-request: 41,576 (30 days), 129,753 (90 days), 531,943 (365 days)24build-error: 0 (30 days)25
So I saw details and went ahead with installation using,
1brew install java2
But then I faced this issue when compiling my spring boot project
1[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.8.1:compile (default-compile) on project reachup-api: Fatal error compiling: java.lang.IllegalAccessError: class lombok.javac.apt.LombokProcessor (in unnamed module @0x486dd616) cannot access class com.sun.tools.javac.processing.JavacProcessingEnvironment (in module jdk.compiler) because module jdk.compiler does not export com.sun.tools.javac.processing to unnamed module @0x486dd616 -> [Help 1]2
So I realised, there is something wrong with the installation and went into reading some content on the web. Okay then I got to know Lombok is not supported in Java 17, and Brew installed java 17 on my machine.
So now I digged up a bit and found the solution. azul.com provides openjdk versions built for ARM 64-bit architecture. You can download the dmg from HERE 👋.
Problem solved 🤓