Skip to content

Commit 436dd32

Browse files
committed
Clean up some of the JVM/GraalVM Setup
fixes #611
1 parent 3fc9e63 commit 436dd32

9 files changed

Lines changed: 108 additions & 575 deletions

File tree

quarkus-workshop-super-heroes/docs/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -152,7 +152,7 @@ The default build will take around 50m.
152152
<give-solution>true</give-solution>
153153
<jdk-version>${maven.compiler.source}</jdk-version>
154154
<!-- NOTE! Any version listed here should have an entry in the dependencies, so that dependabot keeps docs in sync with implementation -->
155-
<graalvm-version>22.3</graalvm-version>
155+
<graalvm-version>21</graalvm-version>
156156
<maven-version>3.9.x</maven-version>
157157
<quarkus-version>${quarkus.platform.version}</quarkus-version>
158158
<compiler-plugin-version>${compiler-plugin.version}</compiler-plugin-version>

quarkus-workshop-super-heroes/docs/src/docs/asciidoc/core-introduction/introduction-installing-graalvm.adoc

Lines changed: 25 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -17,15 +17,24 @@ Examples for common distributions:
1717
[source,shell]
1818
----
1919
# dnf (rpm-based)
20-
sudo dnf install gcc glibc-devel zlib-devel
20+
sudo dnf install gcc glibc-devel zlib-devel libstdc++-static
21+
2122
# Debian-based distributions:
2223
sudo apt-get install build-essential libz-dev zlib1g-dev
24+
25+
# Arch Linux
26+
sudo pacman -S freetype2 gcc glibc lib32-gcc-libs zlib
2327
----
2428
endif::use-linux[]
2529

2630
ifdef::use-mac[]
2731
On macOS X there are several ways to install GraalVM.
28-
But using SDKMAN! is the preferred option, as it allows you to easily switch between different versions of GraalVM if needed.
32+
But using https://sdkman.io/[SDKMAN!] is the preferred option, as it allows you to easily switch between different versions of GraalVM if needed.
33+
34+
[source,shell]
35+
----
36+
xcode-select --install
37+
----
2938
endif::use-mac[]
3039

3140
ifdef::use-windows[]
@@ -36,21 +45,12 @@ endif::use-windows[]
3645
== Installing GraalVM
3746

3847
ifndef::use-mac[]
39-
GraalVM is installed from the GraalVM project.footnote:[GraalVM Download https://github.com/graalvm/graalvm-ce-builds/releases/tag/vm-{graalvm-version}].
48+
GraalVM is installed from the GraalVM project.footnote:[GraalVM Download https://github.com/graalvm/graalvm-ce-builds/releases].
4049

4150
Version {graalvm-version} is required.
4251
Select the {jdk-version} version.
4352

44-
Follow the installation instructions:
45-
46-
ifdef::use-linux[]
47-
- Linux - https://www.graalvm.org/{graalvm-version}/docs/getting-started/linux/
48-
endif::use-linux[]
49-
ifdef::use-windows[]
50-
- Windows - https://www.graalvm.org/{graalvm-version}/docs/getting-started/windows/
51-
endif::use-windows[]
52-
endif::use-mac[]
53-
53+
Follow the https://www.graalvm.org/jdk{graalvm-version}/docs[installation instructions].
5454

5555
ifdef::use-mac[]
5656
=== Listing GraalVM Versions
@@ -64,18 +64,13 @@ GraalVM has its own group and is listed under the `GraalVM` vendor:
6464
----
6565
$ sdk list java
6666
67-
=======================================================================
67+
================================================================================
6868
Available Java Versions for macOS ARM 64bit
69-
=======================================================================
70-
Vendor | Use | Version | Dist | Status | Identifier
71-
-----------------------------------------------------------------------
72-
GraalVM | | 22.3.r19 | grl | | 22.3.r19-grl
73-
| | 22.3.r17 | grl | | 22.3.r17-grl
74-
| | 22.3.r11 | grl | | 22.3.r11-grl
75-
| | 22.2.r17 | grl | | 22.2.r17-grl
76-
| | 22.2.r11 | grl | | 22.2.r11-grl
77-
| | 22.1.0.r17 | grl | | 22.1.0.r17-grl
78-
| | 22.1.0.r11 | grl | | 22.1.0.r11-grl
69+
================================================================================
70+
Vendor | Use | Version | Dist | Status | Identifier
71+
--------------------------------------------------------------------------------
72+
GraalVM CE | | 25.0.2 | graalce | | 25.0.2-graalce
73+
| | 21.0.2 | graalce | | 21.0.2-graalce
7974
=======================================================================
8075
----
8176
@@ -85,23 +80,15 @@ If you don't have any GraalVM candidate installed, use SDKMAN! to install one or
8580
=== Installing a GraalVM Version
8681
8782
There are several versions of GraalVM available for different versions of the JDK.
88-
Because we are using Java {jdk-version} in this fascicle, we will install the version of GraalVM that is compatible with Java {jdk-version} (the versions finishing with `r{jdk-version}-grl`).
89-
Let's install GraalVM {graalvm-version}.
83+
Because we are using Java {jdk-version} in this fascicle, we will install the version of GraalVM that is compatible with Java {jdk-version}. Pick one of the {graalvm-version}.x-graalce versions from SDKMAN!
9084
9185
[source,term,subs="attributes+"]
9286
----
93-
$ sdk install java {graalvm-version}.r{jdk-version}-grl
94-
95-
Downloading: java {graalvm-version}.r{jdk-version}-grl
96-
Repackaging Java {graalvm-version}.r{jdk-version}-grl...
97-
Installing: java {graalvm-version}.r{jdk-version}-grl
98-
Done installing!
99-
100-
Do you want java {graalvm-version}.r{jdk-version}-grl to be set as default? (Y/n):
87+
$ sdk install java {graalvm-version}.x-graalce
10188
----
10289
endif::use-mac[]
10390
104-
Once installed, define the `GRAALVM_HOME` environment variable to point to the directory where GraalVM is installed (eg. on Mac OS X it could be `~/.sdkman/candidates/java/{graalvm-version}.r{jdk-version}-grl`).
91+
Once installed, define the `GRAALVM_HOME` environment variable to point to the directory where GraalVM is installed (eg. on Mac OS X it could be `~/.sdkman/candidates/java/{graalvm-version}.x-graalce`).
10592
10693
10794
ifdef::use-mac[]
@@ -132,8 +119,8 @@ You should get something like:
132119
133120
[source,shell]
134121
----
135-
native-image 22.0.2 2024-07-16
136-
OpenJDK Runtime Environment Mandrel-24.0.2.0-Final (build 22.0.2+9)
137-
OpenJDK 64-Bit Server VM Mandrel-24.0.2.0-Final (build 22.0.2+9, mixed mode)
122+
native-image 21.0.2 2024-01-16
123+
GraalVM Runtime Environment GraalVM CE 21.0.2+13.1 (build 21.0.2+13-jvmci-23.1-b30)
124+
Substrate VM GraalVM CE 21.0.2+13.1 (build 21.0.2+13, serial gc)
138125
----
139126

quarkus-workshop-super-heroes/docs/src/docs/asciidoc/core-introduction/introduction-installing-jdk.adoc

Lines changed: 12 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -4,19 +4,11 @@
44

55
Essential for the development and execution of this workshop is the _Java Development Kit_ (JDK).footnote:[Java http://www.oracle.com/technetwork/java/javase]
66
The JDK includes several tools such as a compiler (`javac`), a virtual machine, a documentation generator (`JavaDoc), monitoring tools (Visual VM) and so onfootnote:[Visual VM https://visualvm.github.io].
7-
The code in this workshop uses JDK {jdk-version}.
7+
The code in this workshop is based on JDK {jdk-version}, but any JDK version higher will work as well.
88

99
== Installing the JDK
1010

11-
To install the JDK {jdk-version}, follows the instructions from https://adoptium.net/installation.html to download and install the JDK for your platform.
12-
13-
ifdef::use-mac[]
14-
There is also an easier way to download and install Java if you are on Mac OS X: using SDKMAN!.
15-
_SDKMAN!_{wj}footnote:[SDKMAN! https://sdkman.io] is a tool for managing parallel versions of multiple Software Development Kits (SDK) on most Unix based systems.
16-
It provides a convenient Command Line Interface (CLI) and API for installing, switching, removing and listing _Candidates_.
17-
Developers often need to manage parallel versions of different builds of SDKs in their environment and switch from one to another.
18-
Manually setting the `PATH` variable can become quickly painful.
19-
That's when SDKMAN! can help you.
11+
There is an easier way to download and install Java: using https://sdkman.io/[SDKMAN!].
2012

2113
=== Installing SDKMAN!
2214

@@ -50,9 +42,8 @@ Microsoft | | 17.0.5 | ms | | 17.0.5-ms
5042
...
5143
Oracle | | 19.0.1 | oracle | | 19.0.1-oracle
5244
...
53-
Temurin | | 19.0.1 | tem | | 19.0.1-tem
54-
| >>> | 17.0.5 | tem | installed | 17.0.5-tem
55-
| | 11.0.17 | tem | installed | 11.0.17-tem
45+
Temurin | >>> | 25.0.2 | tem | installed | 25.0.2-tem
46+
| >>> | 17.0.19 | tem | installed | 17.0.19-tem
5647
==========================================================================
5748
----
5849
@@ -69,27 +60,8 @@ To install Temurin {jdk-version}, we copy its identifier (`{jdk-version}-tem`),
6960
7061
[source,term,subs="attributes+"]
7162
----
72-
$ sdk install java {jdk-version}-tem
73-
74-
Downloading: java {jdk-version}-tem
75-
Repackaging Java {jdk-version}-tem...
76-
Installing: java {jdk-version}-tem
77-
Done installing!
78-
79-
Do you want java {jdk-version}-tem to be set as default? (Y/n):
80-
----
81-
endif::use-mac[]
82-
83-
ifdef::use-linux[]
84-
For Linux distributions, there are also packaged java installations.
85-
[source,shell,subs="attributes+"]
86-
----
87-
# dnf (rpm-based)
88-
dnf install java-{jdk-version}-openjdk
89-
# Debian-based distributions:
90-
$ apt-get install openjdk-{jdk-version}-jdk
63+
$ sdk install java {jdk-version}.x-tem
9164
----
92-
endif::use-linux[]
9365
9466
== Checking for Java Installation
9567
@@ -99,12 +71,15 @@ Check that your system recognizes Java by entering `java -version` and the Java
9971
[source,shell,subs="attributes+"]
10072
----
10173
$ java -version
102-
openjdk version "17.0.5" 2022-10-18
74+
openjdk version "17.0.19" 2025-10-21
75+
OpenJDK Runtime Environment Temurin-17.0.19+10 (build 17.0.19+10)
76+
OpenJDK 64-Bit Server VM Temurin-17.0.19+10 (build 17.0.19+10, mixed mode, sharing)
10377
ifdef::use-native[]
104-
OpenJDK Runtime Environment GraalVM CE 22.3.0 (build 17.0.5+8-jvmci-22.3-b08)
105-
OpenJDK 64-Bit Server VM GraalVM CE 22.3.0 (build 17.0.5+8-jvmci-22.3-b08, mixed mode, sharing)
78+
openjdk 25.0.2 2026-01-20
79+
OpenJDK Runtime Environment GraalVM CE 25.0.2+10.1 (build 25.0.2+10-jvmci-b01)
80+
OpenJDK 64-Bit Server VM GraalVM CE 25.0.2+10.1 (build 25.0.2+10-jvmci-b01, mixed mode, sharing)
10681
endif::use-native[]
10782
10883
$ javac -version
109-
javac 17.0.5
84+
javac 17.0.19
11085
----

0 commit comments

Comments
 (0)