Java
License information
We use the Eclispe Adoptium Temurin releases, which are based on the OpenJDK releases.
OpenJDK is licensed under the GNU General Public License version 2.0 license a copy of which can also be found in the LICENSE file in the OpenJDK GitJHub repository.
The Eclipse Adoptium Temurin distributions are very careful about specifying their
license consitions, and the licenses for all packages contained in the distribution.
After installing and loading the Java
module, the main license notice can be
found in the file
$EBROOTJAVA/NOTICE
while more information for specific components is available in the subdirectories
of the
$EBROOTJAVA/legal
directory.
User documentation
Note that there is also a version of Java already on the system installed with the OS. The contributed EasyConfigs are for those who need a more recent version then what may be on the system at that time.
As Java is already on the system and can be provided by modules also, you'll
have to ensure that any program using Java is using the intended version.
After loading the module provided by EasyBuild all variables should refer to
that version and it should be first in the path. Also be careful when checking
the manual pages. In the standard configuration of the man
command on LUMI,
you may be asked which section to use. In that case, 1
should give you the
manual pages for the version in these modules while 1+1
should give you
those from the system as they are further in the search path for manual pages.
We currently only provide installation recipes for LTS releases of Java.
Users are recommended to always load a Java module using only the major version, e.g.,
rather then whatever patch level is currently installed on the system. That way it is easier to always load the latest patched version.
When installing using EasyBuild:
-
For a first install of a major version it is sufficient to simply call
eb
with the-r
flag and the EasyConfig with the major-only version number, e.g.: -
However, due to the way EasyBuild searches for EasyConfigs on LUMI, if you want to update to a new version, you'll have to go to the directory with the right versions of the EasyConfig (
.eb
) files, e.b.,if you are just using the centrally provided EasyConfigs for Java, as otherwise EasyBuild will try to reproduce the previous installation automatically.
User-installable modules (and EasyConfigs)
Install with the EasyBuild-user module:
To access module help after installation and get reminded for which stacks and partitions the module is installed, usemodule spider Java/<version>
.
EasyConfig:
Technical documentation
Java in EasyBuild currently uses the OpenJDK distributions and no longer the ones provided by Oracle.
Installing Java in EasyBuild needs two EasyConfigs. The one with the major version only creates an Lmod file telling Lmod which version of Java should be loaded when that major version is given, while there is also a separate EasyConfig to install the specific version. So to install, e.g., Java 11, one would use
where the -r
is important here to ensure that also the matching actual version
gets installed.
Java can be installed in the special partition/common
partition to avoid installing
it multiple times in the same LUMI
stack.
EasyBuild
Java 11 (LTS release)
-
The EasyConfigs come from the EasyBuilders repository with only some changes to the documentation, but we've also updated to the lates Java 11 release at the time of writing from the Eclipse Adoptium Temurin project.
-
Additional change though:
JAVA_ROOT
andJAVA_BINDIR
are also set (JAVA_HOME
is set by the EasyBlock) to ensure that all references to the system Java are removed when the Java module is loaded. -
Also added sanity checks, basically to verify if the applications load.
Java 17 (LTS release)
-
Derived from standard EasyConfigs in the EasyBuilders repository just as Java 11, with the same changes and version updates.
-
Note that the list of binaries is different from Java/11 so the sanity checks are also reworked.
-
Update to 17.0.9 made in-house following the standard EasyConfigs.
Java 21 (LTS release)
- Straightforward port of the EasyConfigs for 17, did not wait for an update in the EasyBuilders repository.
Archived EasyConfigs
The EasyConfigs below are additonal easyconfigs that are not directly available on the system for installation. Users are advised to use the newer ones and these archived ones are unsupported. They are still provided as a source of information should you need this, e.g., to understand the configuration that was used for earlier work on the system.
-
Archived EasyConfigs from LUMI-EasyBuild-contrib - previously user-installable software