Java plugin for vfox.
It installs JDKs from 18 distributions, among them Temurin, Zulu, Liberica, Corretto, Microsoft and GraalVM, looked up through Foojay. On Linux loong64 it installs from the Loongnix archive instead.
After installing vfox, install the plugin by running:
vfox add javavfox has to be hooked into your shell for java to be on the PATH, see its quick start.
vfox add java
vfox install java@21-tem
vfox use --global java@21-temYou can verify this using the following command:
java -versionvfox search java tem lists the Temurin releases, and in an interactive terminal it lets you pick one and installs it.
A version is <version>-<distribution>, such as 21.0.8-tem, with -fx after it for JavaFX. Without a distribution you get OpenJDK from jdk.java.net, which has nothing newer than 17.0.2 for 17 and 21.0.2 for 21. See docs/versions.md for details.
| Short name | Distribution |
|---|---|
open |
OpenJDK builds from jdk.java.net, the default |
tem |
Temurin (Eclipse Adoptium) |
zulu |
Zulu (Azul) |
librca |
Liberica (BellSoft) |
amzn |
Corretto (Amazon) |
ms |
Microsoft Build of OpenJDK |
oracle |
Oracle JDK |
sem |
Semeru (IBM) |
sapmchn |
SapMachine (SAP) |
kona |
Kona (Tencent) |
albba |
Dragonwell (Alibaba) |
bsg |
BiSheng (Huawei) |
graal |
Oracle GraalVM |
graalce |
GraalVM Community Edition |
nik |
Liberica Native Image Kit (BellSoft) |
mandrel |
Mandrel (Red Hat) |
jb |
JetBrains Runtime |
trava |
TravaOpenJDK |
lnxabi1, lnxabi2 |
Loongnix, Linux loong64 only |
See docs/distributions.md for what each one is, and docs/loongnix.md for the last row.
Not every distribution has builds for arm64, Alpine or Windows on ARM. Only Temurin, Zulu, Liberica, Microsoft and JetBrains Runtime have Windows ARM64 builds, 10 of the 18 have Alpine x64 builds and 7 have Alpine arm64. GraalVM has neither Windows ARM64 nor Alpine. See docs/platforms.md for the table.
Zulu, Liberica, Liberica NIK and Corretto (Java 8 only) have builds with JavaFX bundled. Add -fx after the distribution, as in java@21-zulu-fx. See docs/javafx.md for details.
vfox reads the java= line of SDKMAN's .sdkmanrc through this plugin and selects a JDK that is already installed. See docs/sdkmanrc.md for details.
To see which JDKs exist for your platform, ask Foojay yourself. docs/foojay.md has the Swagger UI and the commands.
See docs/troubleshooting.md for the messages the plugin prints, proxies and where the JDK is.
See docs/install-from-source.md for details.
See docs/development.md for how the plugin works and how to change it, and docs/e2e.md for the container tests.
Maintainers can publish from Actions → Plugin → Run workflow on the default
branch by entering a stable plugin version without the v prefix. The shared
workflow updates metadata.lua, creates the version commit and tag, and publishes
the ZIP and manifest in this repository. No local tag or extra release token is
needed. Pull requests run checks only; PR titles no longer trigger publication.
Existing version-tag pushes are supported when PLUGIN.version already matches
the tag. If publication fails, re-run the original failed job to resume it.
The workflow follows the shared @v1 release-tool version. Updating the tool does
not release this plugin. See the shared workflow documentation
for the package contract and first-rollout requirements.