Skip to content
version-foxPublic

About

☕️ Java plugin for vfox

Topics

Resources

Stars

35 stars

Watchers

1 watching

Forks

Repository files navigation

vfox-java

中文 | English

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.

Install

After installing vfox, install the plugin by running:

vfox add java

vfox has to be hooked into your shell for java to be on the PATH, see its quick start.

Example

vfox add java
vfox install java@21-tem
vfox use --global java@21-tem

You can verify this using the following command:

java -version

vfox search java tem lists the Temurin releases, and in an interactive terminal it lets you pick one and installs it.

Versions and names

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.

Distributions

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.

Platforms

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.

JavaFX

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.

.sdkmanrc

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.

Querying Foojay

To see which JDKs exist for your platform, ask Foojay yourself. docs/foojay.md has the Swagger UI and the commands.

Troubleshooting

See docs/troubleshooting.md for the messages the plugin prints, proxies and where the JDK is.

Install from source

See docs/install-from-source.md for details.

Development

See docs/development.md for how the plugin works and how to change it, and docs/e2e.md for the container tests.

Releasing this plugin

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.

Thanks

  • SDKMAN, whose identifiers the short names and .sdkmanrc support follow
  • Foojay, where the JDK data comes from

About

☕️ Java plugin for vfox

Topics

Resources

Stars

35 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages