FREEDOM251

Freedom251 › Runtime Version Managers

jEnv

Free plan LinuxMac

Visit jEnv Alternatives

jEnv's own site

What jEnv is

jEnv is an open-source command-line tool for managing Java environments and the JAVA_HOME variable on Linux and macOS. It lets developers choose among installed Java versions globally, for a directory, or for a shell session. The local command creates a .java-version file that can be committed to a Git project, allowing project-level version pinning. jEnv does not install Java; users install a JDK separately and register its location with jenv add. An export plugin can set JAVA_HOME, while optional plugins provide settings for Gradle, Maven, Ant, Leiningen, and sbt. Documentation covers Bash, Zsh, and Fish setup, with Homebrew installation guidance for macOS and Git-based installation for Linux. The project accepts external contributions and directs bug reports or feature requests to GitHub. Documentation notes reported Fish issues, and the maintainer describes Fish support as untested.

Who it suits

It suits developers on Linux or macOS who need to switch between installed Java versions for projects or shells. It is useful when build tools and JAVA_HOME need coordinated settings.

What it does well

  • Global, directory, and shell version selection
  • Project .java-version files
  • JAVA_HOME export plugin
  • Build-tool integration plugins
  • Open-source project

What to know first

  • Does not install Java
  • Supports Linux and macOS only
  • Fish support is reported as problematic
  • Fish support is untested by maintainer

Verdict

jEnv provides version selection and project pinning for Java installations already on a machine. Its lack of Java installation and the documented Fish caveat should shape setup plans.

Facts from jEnv's own pages

Build tool integrations
Optional plugins support Gradle, Maven, Ant, Leiningen, and sbt. · github.com, 2 Oct 2026
Installation
The maker’s site documents source installation on Linux and OS X, and Homebrew installation on Mac OS X. · jenv.be, 2 Oct 2026
Integrations
Optional plugins can export Java settings for Gradle, Maven, Ant, Leiningen, and sbt. · github.com, 29 Sept 2026
Issue reporting
The maker directs users to create a GitHub issue to report bugs or missing features. · jenv.be, 2 Oct 2026
JAVA_HOME
It can set JAVA_HOME through its export plugin. · github.com, 2 Oct 2026
Java installation
jEnv does not install Java; users install Java with a platform appropriate package manager and add its location to jEnv. · github.com, 29 Sept 2026
Java version switching
It lets developers switch between Java versions on a development machine. · github.com, 29 Sept 2026
JDK registration
The jenv add command registers an existing Java installation; jEnv does not install Java for you. · github.com, 2 Oct 2026
Known issue
The project documentation says users have reported issues using jEnv with Fish. · github.com, 29 Sept 2026
Linux installation
The site documents installing jEnv from its Git repository on Linux. · jenv.be, 29 Sept 2026
macOS installation
The site documents installation on macOS using Homebrew. · jenv.be, 29 Sept 2026
Maintainer
The repository README lists Gildas Cuisinier as a maintainer. · github.com, 2 Oct 2026
Open source
The project is open source and welcomes external contributions. · jenv.be, 2 Oct 2026
Project configuration
A local version setting creates a .java-version file that can be checked into Git for a project. · github.com, 2 Oct 2026
Purpose
jEnv is a command-line tool for managing Java environments and switching between Java versions. · jenv.be, 2 Oct 2026
Shells
The maker’s site documents setup for Bash and Zsh; the repository README also gives Fish setup instructions and says Fish support is untested by the maintainer. · github.com, 2 Oct 2026
Shell support
The documentation gives setup instructions for Bash, Zsh, and Fish shells. · github.com, 29 Sept 2026
Support
The site directs users to GitHub to report bugs or request missing features. · jenv.be, 29 Sept 2026
Version scopes
Java versions can be configured globally, per directory, or for a shell session. · jenv, 2 Oct 2026

Where jEnv stands on Freedom251

Look at these too