Quarkus and GraalVM starter
When Java is one of the languanges in your portfolio, you might have heard of Quarkus, an alternative to Spring Boot build on top of vert.x and GraalVM, a polyglot runtime for Java and other languages.
This article describes the getting started that worked for me.
Moving parts
The fist hurdle to overcome is to install all the bits and pieces. There are plenty of versions (Java 11 - Java 21) and methods (maven, CLI, packet managers), so it con be confusing what to pick. I tried most of them and created a mess and a deep appreciation for the "reset to snapshot" feature afforded by virtual machines. Instructions work for macOS, Linux or Linux on Windows.Here we go:
- install SdkMan.
The tool helps to keep your software development kits under control. From their website:
"Meet SDKMAN! – your reliable companion for effortlessly managing multiple Software Development Kits on Unix systems. Imagine having different versions of SDKs and needing a stress-free way to switch between them. SDKMAN! steps in with its easy-to-use Command Line Interface (CLI) and API."
curl -s "https://get.sdkman.io" | bash
You can thank me later. Side note: there are 16 different JDK offerings that can be installed, we are spoiled for choices
- install GraalVM
Currently, as of time of writing, there are three GraalVM distributions available. The Open Source, community supported GraalVM Community Edition, the commercial, Oracle supported Oracle GraalVM which requires a license in production and the ReedHat backed Mandrel. Mandrel is advertised as "specifically to support Quarkus". The Java 21 version was not yet available on sdkman, so I used the community edition. To stick with Mandrel I will use the container build option, later more on that
# List SDKs
sdk list java
# install GraalVM
sdk install java 21-graaalce
- Install Quarkus
This will install the Quarkus CLI and for good measure Apache Maven. The Quarkus CLI makes a pleasant developer experience
sdk install quarkus
sdk install mvn
- Install Docker
You can use Docker desktop (required a license for larger organisations) or Rancher Desktop (which also handles Kubernetes), Podman Desktop, any of the alternatives or the command line. New to Docker? There's plenty of fish
Now we are good to go. Skipping the Code with Quarkus tutorial lets build a n app in java and native put it into a container
Read more
Posted by Stephan H Wissel on 13 October 2023 | Comments (0) | categories: GraalVM Java Maven Quarkus WebDevelopment