OpenJDK and Scala 3 on Windows ↩
OpenJDK is an open-source project initiated by Oracle in 2010. Java 8 is the first LTS version of Java to be released both as a commercial product (Oracle Java SE 8 ) and as an open-source product (Temurin OpenJDK 8) 1. In the following we focus on OpenJDK 11 and OpenJDK 17, the current LTS version of Java. |
This document is part of a series of topics related to Scala 3 on Windows:
- Running Scala 3 on Windows
- Building Scala 3 on Windows
- Data Sharing and Scala 3 on Windows
- OpenJDK and Scala 3 on Windows ▼
Ada, Akka, C++, Deno, Flix, Golang, GraalVM, Haskell, Kotlin, LLVM, Node.js, Rust, Spark, Spring, TruffleSqueak, WiX Toolset and Zig are other topics we are currently monitoring.
This project depends on several external software for the Microsoft Windows platform:
- Corretto OpenJDK 17 from Amazon (release notes).
- Dragonwell OpenJDK 17 from Alibaba (release notes).
- GraalVM OpenJDK 17 from Oracle (release notes).
- Liberica OpenJDK 17 from BellSoft (release notes).
- Liberica NIK OpenJDK 17 from BellSoft (release notes).
- Microsoft OpenJDK 17 from Microsoft.
- OpenJ9 OpenJDK 17 from IBM Developer (release notes).
- RedHat OpenJDK 17 from RedHat.
- SapMachine OpenJDK 17 from SAP.
- Temurin OpenJDK 17 from Eclipse (release notes).
- Trava OpenJDK 11 from Travis (release notes).
- Zulu OpenJDK 17 from Azul Systems (release notes).
The above implementations of OpenJDK™ differ in several ways:
- they are tested and certified for JCK 2 compliance excepted for Trava OpenJDK.
- they include different backports of fixes from OpenJDK 12 or newer (eg. Corretto).
- they include additional modules (eg. Device IO API on Linux ARMv7) or integrate special tools (eg. HotswapAgent in Trava).
- they support different sets of platform architectures (eg. SapMachine x64 only, BellSoft also Raspberry Pi 2 & 3).
☛ Installation policy
When possible we install software from a a Zip archive rather than via a Windows installer. In our case we definedC:\opt\
as the installation directory for optional software tools (in reference to the/opt/
directory on Unix).
For instance our development environment looks as follows (January 2025) 3:
C:\opt\jdk-bellsoft-11.0.21\ (303 MB) C:\opt\jdk-bellsoft-17.0.9\ (310 MB) C:\opt\jdk-bellsoft-21.0.1\ (262 MB) C:\opt\jdk-bellsoft-nik-java11-22.0.0.2\ (596 MB) C:\opt\jdk-bellsoft-nik-java17-22.0.0.2\ (657 MB) C:\opt\jdk-corretto-11.0.20_9\ (293 MB) C:\opt\jdk-corretto-17.0.9_8\ (299 MB) C:\opt\jdk-dcevm-11.0.15_1\ (313 MB) C:\opt\jdk-dragonwell-11.0.20.17_8\ (290 MB) C:\opt\jdk-dragonwell-17.0.7.0.7_7\ (299 MB) C:\opt\jdk-graalvm-ce-17.0.8_7.1\ (591 MB) C:\opt\jdk-graalvm-ce-20.0.2_9.1\ (624 MB) C:\opt\jdk-graalvm-ce-21-dev_30.1\ (632 MB) C:\opt\jdk-microsoft-11.0.20_8\ (292 MB) C:\opt\jdk-microsoft-17.0.9_8\ (300 MB) C:\opt\jdk-microsoft-21.0.1_12\ (325 MB) C:\opt\jdk-openj9-11.0.20.1_1\ (326 MB) C:\opt\jdk-openj9-17.0.8.1_1\ (334 MB) C:\opt\jdk-redhat-11.0.20.8-1\ (364 MB) C:\opt\jdk-redhat-17.0.8.0.7-1\ (377 MB) C:\opt\jdk-sapmachine-11.0.21\ (316 MB) C:\opt\jdk-sapmachine-17.0.9\ (325 MB) C:\opt\jdk-sapmachine-21.0.1\ (353 MB) C:\opt\jdk-temurin-11.0.21_9\ (300 MB) C:\opt\jdk-temurin-17.0.9_9\ (299 MB) C:\opt\jdk-temurin-21.0.1_12\ (326 MB) C:\opt\jdk-zulu-11.0.19-win_x64\ (302 MB) C:\opt\jdk-zulu-17.0.8-win_x64\ (306 MB)
Scala 3 build times ▴
We perform a quick comparison of the execution times to build the Scala 3 software distribution available as the following two archive files :
dist\target\scala3-3.3.1-RC1-bin-SNAPSHOT.tar.gz dist\target\scala3-3.3.1-RC1-bin-SNAPSHOT.zip
🔎 Scala nightly builds are published on Maven as individual Java archive files, e.g.
scala3-compiler
(Scala 3 compiler)scala3-library
(Scala 3 library)- and so on.
We ideally would run the command build archives
to generate the above files (presuming all tests were successful).
Unfortunately a few tests still fail on Windows, so need to proceed in two steps, running the command build boot & build arch-only
, in order to achieve our goal.
Let's compare the build times for Java 8, Java 11 and Java 17 on a Win10 laptop with an i7-8550U (1.8 GHz) processor and 16 Go of memory 4 (entries come from the log file snapshot_log.txt
):
8u345 | Build time | 11.0.16 | Build time | 17.0.4 | Build time |
---|---|---|---|---|---|
Corretto (Amazon) |
27:00 27:27 |
Corretto (Amazon) |
30:49 30:42 |
Corretto (Amazon) |
n.a. |
DCEVM (Trava) |
n.a. | DCEVM (Trava) a) |
31:10 30:28 |
DCEVM (Trava) |
n.a. |
Dragonwell (Alibaba) |
31:54 32:01 |
Dragonwell (Alibaba) |
30:41 30:44 |
Dragonwell (Alibaba) |
n.a. |
GraalVM (Oracle) |
26:09 26:11 |
GraalVM (Oracle) |
31:34 33:11 |
GraalVM (Oracle) |
33:30 |
Liberica (BellSoft) |
25:10 25:41 |
Liberica (BellSoft) |
31:04 30:33 |
Liberica (BellSoft) |
29:38 31:17 |
Liberica NIK (BellSoft) |
n.a. | Liberica NIK (BellSoft) b) |
31:29 | Liberica NIK (BellSoft) |
todo |
Microsoft | n.a. | Microsoft | 30:16 30:37 |
Microsoft | 29:41 31:52 |
OpenJ9 (IBM) |
33:30 33:47 |
OpenJ9 (IBM) |
39:04 39:17 |
OpenJ9 (IBM) |
todo |
RedHat | 26:01 26:09 |
RedHat | 30:16 30:51 |
RedHat c) | todo |
SapMachine (SAP) |
n.a. | SapMachine (SAP) |
31:33 30:52 |
SapMachine (SAP) |
28:43 28:27 |
Temurin (Eclipse) |
25:46 25:47 |
Temurin (Eclipse) |
29:59 31:19 |
Temurin (Eclipse) |
28:52 29:04 |
Zulu (Azul) |
25:39 25:44 |
Zulu (Azul) |
31:38 30:49 |
Zulu (Azul) |
28:59 28:41 |
b) NIK = Native Image Kit.
c) Version 17.0.3 instead of 17.0.4.
Here are two observations about the above results :
- Build times are ~10% longer with OpenJ9 JDK (for Java 8 and Java 11).
- Build times are significantly slower for Java 11 than for Java 8.
Build errors encountered on MS Windows on July 31, 2021, are :
Failing tests JVM 8 |
ClasspathTests |
CompilationTests |
FromTastyTests |
ZipArchiveTests |
---|---|---|---|---|
bellsoft-08 | Failed | OK | Failed | OK |
corretto-08 | Failed | OK | Failed | OK |
dragonwell-08 | Failed | OK | Failed | OK |
openj9-08 | Failed | Failed | Failed | Failed |
openjdk-08 | Failed | OK | Failed | OK |
redhat-08 | Failed | OK | Failed | OK |
zulu-08 | Failed | OK | Failed | OK |
Failing tests JVM 11 |
ClasspathTests |
FromTastyTests |
---|---|---|
bellsoft-11 | Failed | Failed |
bellsoft-nik-11 | Failed | Failed |
corretto-11 | Failed | Failed |
dragonwell-11 | Failed | Failed |
microsoft-11 | Failed | Failed |
openj9-11 | Failed | Failed |
redhat-11 | Failed | Failed |
sapmachine-11 | Failed | Failed |
temurin-11 | Failed | Failed |
zulu-11 | Failed | Failed |
Failing tests JVM 17 |
ClasspathTests |
FromTastyTests |
---|---|---|
bellsoft-17 | Failed | Failed |
bellsoft-nik-17 | Failed | Failed |
microsoft-17 | Failed | Failed |
sapmachine-17 | Failed | Failed |
temurin-17 | Failed | Failed |
zulu-17 | Failed | Failed |
Data sharing ▴
This section supplements my writing from page Data Sharing and Scala 3 on Windows.
☛ Data Sharing and OpenJDK 17
Data sharing is enabled by default starting with OpenJDK 17.
An OpenJDK installation contains the file <install_dir>\lib\classlist
. For instance we proceed as follows to check if data sharing is enabled in Temurin OpenJDK 11 :
- Command
java.exe -version
displays the OpenJDK version amongst other information; in particular, the last output line ends with((build 11.0.14+9, mixed mode, sharing)
if data sharing is enabled(build 11.0.14+9, mixed mode)
otherwise.
- Command
java.exe -Xshare:dump
generates the 17.3 Mb Java shared archive<install_dir>\bin\server\classes.jsa
from file<install_dir>\lib\classlist
. - We go back to step 1 to verify that flag
sharing
is present.
Corretto OpenJDK 11 ▲
> c:\opt\jdk-corretto-11.0.17_8\bin\java -version openjdk version "11.0.17" 2022-10-18 LTS OpenJDK Runtime Environment Corretto-11.0.17.8.1 (build 11.0.17+8-LTS) OpenJDK 64-Bit Server VM Corretto-11.0.17.8.1 (build 11.0.17+8-LTS, mixed mode) > c:\opt\jdk-corretto-11.0.17_8\bin\java -Xshare:dump [...] Number of classes 1217 [...] > dir c:\opt\jdk-corretto-11.0.17_8\bin\server | findstr jsa 01.08.2022 23:27 11 272 192 classes.jsa > c:\opt\jdk-corretto-11.0.17_8\bin\java -version openjdk version "11.0.17" 2022-10-18 LTS OpenJDK Runtime Environment Corretto-11.0.16.8.1 (build 11.0.16+8-LTS) OpenJDK 64-Bit Server VM Corretto-11.0.16.8.1 (build 11.0.16+8-LTS, mixed mode, sharing)
🔎 Amazon provides online documentation specific to Corretto 11 (eg. change Log, patches as well as Youtube videos (eg. Devoxx keynotes by Arun Gupta and James Gosling).
Dragonwell OpenJDK 11 ▲
> c:\opt\jdk-dragonwell-11.0.16.12_8\bin\java -version openjdk version "11.0.16.12" 2022-07-19 OpenJDK Runtime Environment (Alibaba Dragonwell)-11.0.16.12+8-GA (build 11.0.16.12+8) OpenJDK 64-Bit Server VM (Alibaba Dragonwell)-11.0.16.12+8-GA (build 11.0.16.12+8, mixed mode) > c:\opt\jdk-dragonwell-11.0.16.12_8\bin\java -Xshare:dump [...] Number of classes 1241 [...] > dir c:\opt\jdk-dragonwell-11.0.16.12_8\bin\server | findstr jsa 22.05.2022 15:08 17 891 328 classes.jsa > c:\opt\jdk-dragonwell-11.0.16.12_8\bin\java -version openjdk version "11.0.16.12" 2022-07-19 OpenJDK Runtime Environment (Alibaba Dragonwell)-11.0.16.12+8-GA (build 11.0.16.12+8) OpenJDK 64-Bit Server VM (Alibaba Dragonwell)-11.0.16.12+8-GA (build 11.0.16.12+8, mixed mode, sharing)
GraalVM OpenJDK 11 ▲
GraalVM is a universal virtual machine supporting the interaction between JVM-based languages like Java, Scala, Groovy, Kotlin, Clojure and native languages like C, C++, JavaScript, Python, R, Ruby.
> c:\opt\graalvm-ce-java11-22.1.0\bin\java -version openjdk version "11.0.15" 2022-04-19 OpenJDK Runtime Environment GraalVM CE 22.1.0 (build 11.0.15+10-jvmci-22.1-b06) OpenJDK 64-Bit Server VM GraalVM CE 22.1.0 (build 11.0.15+10-jvmci-22.1-b06, mixed mode, sharing) > dir c:\opt\graalvm-ce-java11-22.1.0\bin\server | findstr jsa 08.05.2022 15:00 17 760 256 classes.jsa
We observe that GraalVM is the only OpenJDK implementation to come with class sharing enabled by default.
Liberica OpenJDK 11 ▲
Liberica OpenJDK 11 is available both as a "regular" and as a "lite" version (no JavaFX modules, compressed modules). BellSoft currently provides binaries suitable for different hardware and OS combinations, eg. Windows x86_64 and Windows x86.
🔎 Bellsoft also offers a native image based JDK distributions.
In the following we work with the "regular" version of Liberica OpenJDK 11.
> c:\opt\jdk-bellsoft-11.0.15\bin\java -version openjdk version "11.0.15" 2022-04-19 LTS OpenJDK Runtime Environment (build 11.0.15+10-LTS) OpenJDK 64-Bit Server VM (build 11.0.15+10-LTS, mixed mode) > c:\opt\jdk-bellsoft-11.0.15\bin\java -Xshare:dump [...] Number of classes 1258 [...] > dir c:\opt\jdk-bellsoft-11.0.15\bin\server | findstr jsa 22.05.2022 15:32 18 022 400 classes.jsa > c:\opt\jdk-bellsoft-11.0.15\bin\java -version openjdk version "11.0.15" 2022-04-19 LTS OpenJDK Runtime Environment (build 11.0.15+10-LTS) OpenJDK 64-Bit Server VM (build 11.0.15+10-LTS, mixed mode, sharing)
Microsoft OpenJDK 11 ▲
> c:\opt\jdk-microsoft-11.0.16_8\bin\java -version openjdk version "11.0.15" 2022-04-19 LTS OpenJDK Runtime Environment Microsoft-32930 (build 11.0.15+10-LTS) OpenJDK 64-Bit Server VM Microsoft-32930 (build 11.0.15+10-LTS, mixed mode) > c:\opt\jdk-microsoft-11.0.16_8\bin\java -Xshare:dump [...] Number of classes 1220 [...] > dir c:\opt\jdk-microsoft-11.0.16_8\bin\server | findstr jsa 22.05.2022 15:33 17 694 720 classes.jsa > c:\opt\jdk-microsoft-11.0.16_8\bin\java -version openjdk version "11.0.16" 2022-04-19 LTS OpenJDK Runtime Environment Microsoft-32930 (build 11.0.15+10-LTS) OpenJDK 64-Bit Server VM Microsoft-32930 (build 11.0.15+10-LTS, mixed mode, sharing)
OpenJ9 OpenJDK 11 ▲
Compared to the other OpenJDK distributions OpenJ9 OpenJDK 11 provides advanced settings to manage shared data; it uses option -Xshareclasses:<params>
instead of -Xshare:<param>
.
🔎 Execute
java -Xshareclasses:help
to list the settings.
> c:\opt\jdk-openj9-11.0.16_8\bin\java -version openjdk version "11.0.16" 2022-07-19 IBM Semeru Runtime Open Edition 11.0.16.0 (build 11.0.16+8) Eclipse OpenJ9 VM 11.0.16.0 (build openj9-0.33.0, JRE 11 Windows 10 amd64-64-Bit Compressed References 20220804_420 (JIT enabled, AOT enabled) OpenJ9 - 04a55b45b OMR - b58aa2708 JCL - ab74d97849 based on jdk-11.0.16+8) [XXXXXXXXXX -Xshareclasses:name= ##########]
RedHat OpenJDK 11 ▴
> c:\opt\jdk-redhat-11.0.15.9-3\bin\java -version openjdk version "11.0.15" 2022-04-19 LTS OpenJDK Runtime Environment 18.9 (build 11.0.15+9-LTS) OpenJDK 64-Bit Server VM 18.9 (build 11.0.15+9-LTS, mixed mode) > c:\opt\jdk-redhat-11.0.15.9-3\bin\java -Xshare:dump [...] Number of classes 1229 [...] > dir c:\opt\jdk-redhat-11.0.15.9-3\bin\server | findstr jsa 22.05.2022 15:38 17 760 256 classes.jsa > c:\opt\jdk-redhat-11.0.15.9-3\bin\java -version openjdk version "11.0.15" 2022-04-19 LTS OpenJDK Runtime Environment 18.9 (build 11.0.15+9-LTS) OpenJDK 64-Bit Server VM 18.9 (build 11.0.15+9-LTS, mixed mode, sharing)
SapMachine OpenJDK 11 ▲
GitHub project repository is SAP/SapMachine
.
> c:\opt\jdk-sapmachine-11.0.20\bin\java -version openjdk version "11.0.20-ea" 2023-07-18 OpenJDK Runtime Environment SapMachine (build 11.0.20-ea+4-sapmachine) OpenJDK 64-Bit Server VM SapMachine (build 11.0.20-ea+4-sapmachine, mixed mode) > c:\opt\jdk-sapmachine-11.0.20\bin\java -Xshare:dump [...] Number of classes 1222 [...] > dir c:\opt\jdk-sapmachine-11.0.20\bin\server | findstr jsa 05/29/2023 10:49 PM 11,337,728 classes.jsa > c:\opt\jdk-sapmachine-11.0.20\bin\java -version openjdk version "11.0.20-ea" 2023-07-18 OpenJDK Runtime Environment SapMachine (build 11.0.20-ea+4-sapmachine) OpenJDK 64-Bit Server VM SapMachine (build 11.0.20-ea+4-sapmachine, mixed mode, sharing)
🔎 SAP provides online documentation specific to SapMachine 11, e.g. Differences between SapMachine and OpenJDK.
🔎 SAP blog announcements:
Temurin OpenJDK 11 ▲
Temurin OpenJDK is the reference implementation; the other OpenJDK distributions are derived from it.
> c:\opt\jdk-temurin-11.0.19_7\bin\java -version openjdk version "11.0.19" 2023-04-18 OpenJDK Runtime Environment Temurin-11.0.19+7 (build 11.0.19+7) OpenJDK 64-Bit Server VM Temurin-11.0.19+7 (build 11.0.19+7, mixed mode) > c:\opt\jdk-temurin-11.0.19_7\bin\java -Xshare:dump [...] Number of classes 1217 [...] > dir c:\opt\jdk-temurin-11.0.19_7\bin\server | findstr jsa 05/29/2023 10:50 PM 11,272,192 classes.jsa > c:\opt\jdk-temurin-11.0.19_7\bin\java -version openjdk version "11.0.19" 2023-04-18 OpenJDK Runtime Environment Temurin-11.0.19+7 (build 11.0.19+7) OpenJDK 64-Bit Server VM Temurin-11.0.19+7 (build 11.0.19+7, mixed mode, sharing)
Trava OpenJDK 11 ▲
> c:\opt\jdk-dcevm-11.0.15_1\bin\java -version openjdk version "11.0.15" 2022-04-19 OpenJDK Runtime Environment AdoptOpenJDK-dcevm-11.0.15+1-202204281500 (build 11.0.15+1-202204281500) Dynamic Code Evolution 64-Bit Server VM AdoptOpenJDK-dcevm-11.0.15+1-202204281500 (build 11.0.15+1-202204281500, mixed mode) > c:\opt\jdk-dcevm-11.0.15_1\bin\java -Xshare:dump [...] Number of classes 1221 [...] > dir c:\opt\jdk-dcevm-11.0.15_1\bin\server | findstr jsa 22.05.2022 15:42 18 022 400 classes.jsa > c:\opt\jdk-dcevm-11.0.15_1\bin\java -version openjdk version "11.0.15" 2022-04-19 OpenJDK Runtime Environment AdoptOpenJDK-dcevm-11.0.15+1-202204281500 (build 11.0.15+1-202204281500) Dynamic Code Evolution 64-Bit Server VM AdoptOpenJDK-dcevm-11.0.15+1-202204281500 (build 11.0.15+1-202204281500, mixed mode, sharing)
🔎 Trava OpenJDK is not intended to be used as 'main' JDK, since the integrated HotswapAgent is enabled by default and it uses serial GC by default. The default behaviour can be changed as follows:
> c:\opt\jdk-dcevm-11.0.11_1\bin\java -XX:+DisableHotswapAgent -XX:+UseConcMarkSweepGC -version Dynamic Code Evolution 64-Bit Server VM warning: Option UseConcMarkSweepGC was deprecated in version 9.0 and will likely be removed in a future release. openjdk version "11.0.9" 2020-10-20 OpenJDK Runtime Environment AdoptOpenJDK (build 11.0.10+4-202010241925) Dynamic Code Evolution 64-Bit Server VM AdoptOpenJDK (build 11.0.10+4-202010241925, mixed mode, sharing)Trava OpenJDK only supports the serial and CMS garbage collectors (ie. options
-XX:+UseParallelGC
and-XX:+UseG1GC
are not supported).Starting with version 11.0.9 of the Trava OpenJDK the compiler option
-XX:+DisableHotswapAgent
is replaced by option-XX:HotswapAgent:<disabled|fatjar|core|external>
.
Zulu OpenJDK 11 ▲
> c:\opt\jdk-zulu-11.0.19-win_x64\bin\java -version openjdk version "11.0.19" 2023-04-18 LTS OpenJDK Runtime Environment Zulu11.64+19-CA (build 11.0.19+7-LTS) OpenJDK 64-Bit Server VM Zulu11.64+19-CA (build 11.0.19+7-LTS, mixed mode) > c:\opt\jdk-zulu-11.0.19-win_x64\bin\java -Xshare:dump [...] Number of classes 1223 [...] > dir c:\opt\jdk-zulu-11.0.19-win_x64\bin\server | findstr jsa 05/29/2023 10:52 PM 11,534,336 classes.jsa > c:\opt\jdk-zulu-11.0.19-win_x64\bin\java -version openjdk version "11.0.19" 2023-04-18 LTS OpenJDK Runtime Environment Zulu11.64+19-CA (build 11.0.19+7-LTS) OpenJDK 64-Bit Server VM Zulu11.64+19-CA (build 11.0.19+7-LTS, mixed mode, sharing)
- IBM Developer: Class sharing in Eclipse OpenJ9
- by Ben Corrie, Hang Shao (2018-06-06)
Reduce your memory footprint and improve startup performance with the shared class feature.
- JavaOne 2017: Eclipse OpenJ9: Under the hood of the JVM
- by Dan Heidinga (2017-10-10)
Dan Heiding presents an updated version of my "OpenJ9: Under the hood of the next open source JVM" that covers where it was open sourced (github.com/eclipse/openj9), how to build it, and then deep dives into the ROM/RAM divide before touching on interpreter, JIT and AOT.
- IBM: OpenJ9: Under the hood of the next open source JVM
- by Dan Heidinga (2016-09-21)
Dan Heidinga gives a description of how bytecodes are loaded into the J9VM and how bytecode execution occurs, plus IBM's plans to open source J9.
Footnotes ▲
[1] Oracle JDK vs OpenJDK ↩
- Oracle's release notes for Java version 11 gives several Differences between Oracle JDK and OpenJDK.
[2] JCK Compliance (2018-04-06) ↩
-
The JCK is a proprietary test suite, accessible under license from Oracle.
The role of the JCK is not to determine quality, but rather to provide a binary indication of compatibility with the Java SE specification. As such, the JCK only tests functional behaviour, and only such functional behaviour that is given in the Java specification.
(see issue 19 from OpenJDK TSC)
[3] Downloads ↩
- In our case we downloaded the following installation files (see section 1):
-
Alibaba_Dragonwell_Standard_11.0.19.15.7_x64_windows.zip (186 MB) amazon-corretto-11.0.16.9.1-windows-x64-jdk.zip (178 MB) bellsoft-jdk11.0.19+7-windows-amd64.zip (186 MB) bellsoft-liberica-vm-openjdk11.0.19+7-22.3.2+1-windows-amd64.zip (329 MB) graalvm-ce-java11-windows-amd64-22.2.0.zip (335 MB) ibm-semeru-open-jdk_x64_windows_11.0.16_8_openj9-0.33.0.zip (198 MB) java-11-openjdk-11.0.16.8-1.windows.redhat.x86_64.zip (242 MB) microsoft-jdk-11.0.19-windows-x64.zip (178 MB) Openjdk11u-dcevm-windows-x64.zip (187 MB) OpenJDK11U-jdk_x64_windows_hotspot_11.0.17_8.zip (190 MB) sapmachine-jdk-11.0.20-ea.4_windows-x64_bin.zip (189 MB) zulu11.64.19-ca-jdk11.0.19-win_x64.zip (187 MB)
[4] Snapshot builds ↩
-
We run the batch file
snapshot.bat
(which callsbuild.bat
) to generate 26 Scala 3 software distributions based on 8, 11 and 17 OpenJDK implementations (see also snyk report "JVM Ecosystem report 2021"). -
> dir /b __SNAPSHOT_LOCAL\*.zip scala3-3.3.1-RC1-bin-SNAPSHOT-bellsoft-08.zip scala3-3.3.1-RC1-bin-SNAPSHOT-bellsoft-11.zip scala3-3.3.1-RC1-bin-SNAPSHOT-bellsoft-17.zip scala3-3.3.1-RC1-bin-SNAPSHOT-bellsoft-nik-11.zip scala3-3.3.1-RC1-bin-SNAPSHOT-bellsoft-nik-17.zip scala3-3.3.1-RC1-bin-SNAPSHOT-corretto-11.zip scala3-3.3.1-RC1-bin-SNAPSHOT-corretto-17.zip scala3-3.3.1-RC1-bin-SNAPSHOT-dcevm-11.zip scala3-3.3.1-RC1-bin-SNAPSHOT-dragonwell-08.zip scala3-3.3.1-RC1-bin-SNAPSHOT-dragonwell-11.zip scala3-3.3.1-RC1-bin-SNAPSHOT-graalvm-ce-08.zip scala3-3.3.1-RC1-bin-SNAPSHOT-graalvm-ce-11.zip scala3-3.3.1-RC1-bin-SNAPSHOT-graalvm-ce-17.zip scala3-3.3.1-RC1-bin-SNAPSHOT-microsoft-11.zip scala3-3.3.1-RC1-bin-SNAPSHOT-microsoft-17.zip scala3-3.3.1-RC1-bin-SNAPSHOT-openj9-08.zip scala3-3.3.1-RC1-bin-SNAPSHOT-openj9-11.zip scala3-3.3.1-RC1-bin-SNAPSHOT-redhat-08.zip scala3-3.3.1-RC1-bin-SNAPSHOT-redhat-11.zip scala3-3.3.1-RC1-bin-SNAPSHOT-sapmachine-11.zip scala3-3.3.1-RC1-bin-SNAPSHOT-sapmachine-17.zip scala3-3.3.1-RC1-bin-SNAPSHOT-temurin-08.zip scala3-3.3.1-RC1-bin-SNAPSHOT-temurin-11.zip scala3-3.3.1-RC1-bin-SNAPSHOT-temurin-17.zip scala3-3.3.1-RC1-bin-SNAPSHOT-zulu-08.zip scala3-3.3.1-RC1-bin-SNAPSHOT-zulu-11.zip scala3-3.3.1-RC1-bin-SNAPSHOT-zulu-17.zip