Forge Home


More parametrized Java installation


6,579 latest version

5.0 quality score

We run a couple of automated
scans to help you access a
module's quality. Each module is
given a score based on how well
the author has formatted their
code and documentation and
modules are also checked for
malware using VirusTotal.

Please note, the information below
is for guidance only and neither of
these methods should be considered
an endorsement by Puppet.

Version information

  • 2.1.2 (latest)
  • 2.1.1
  • 2.1.0
  • 2.0.0
  • 1.0.1
  • 1.0.0
released Nov 18th 2017
This version is compatible with:
  • Puppet Enterprise 2023.5.x, 2023.4.x, 2023.3.x, 2023.2.x, 2023.1.x, 2023.0.x, 2021.7.x, 2021.6.x, 2021.5.x, 2021.4.x, 2021.3.x, 2021.2.x, 2021.1.x, 2021.0.x, 2019.8.x, 2019.7.x, 2019.5.x, 2019.4.x, 2019.3.x, 2019.2.x, 2019.1.x, 2019.0.x, 2018.1.x, 2017.3.x, 2017.2.x, 2017.1.x, 2016.5.x, 2016.4.x
  • Puppet >= 3.2.0
  • , , , , ,

Start using this module

  • r10k or Code Manager
  • Bolt
  • Manual installation
  • Direct download

Add this module to your Puppetfile:

mod 'cesnet-java_ng', '2.1.2'
Learn more about managing modules with a Puppetfile

Add this module to your Bolt project:

bolt module add cesnet-java_ng
Learn more about using this module with an existing project

Manually install this module globally with Puppet module tool:

puppet module install cesnet-java_ng --version 2.1.2

Direct download is not typically how you would use a Puppet module to manage your infrastructure, but you may want to download the module in order to inspect the code.

Tags: java, headless, jdk, jre


cesnet/java_ng — version 2.1.2 Nov 18th 2017

Java Headless Puppet Module - java_ng

Build Status

Table of Contents

  1. Module Description - What the module does and why it is useful
  2. Setup - The basics of getting started with java_ng
  3. Usage - Configuration options and additional functionality
  4. Reference - An under-the-hood peek at what the module is doing and how
  5. Limitations - OS compatibility, etc.
  6. Development - Guide for contributing to the module

Module Description

This puppet module performs more parametrized Java installation. Various options may be specified:

  • major version: 7, 8
  • flavor: headless, jdk, jre
  • repositories: native, ppa:openjdk, ppa:oracle

By default the headless flavor is installed, default version depends on the platform (8 or 7), and native repository is preferred.


What java_ng affects

  • Packages: Java (JRE/JDK, JCE policy, CA certificates)
  • Files:
  • ppa repository if enabled and needed (Debian, Ubuntu) + apt keys

No changes to the alternatives are done (only a switching in the package triggers).


Example: basic usage (using defaults or values from hiera)

include ::java_ng

Example: specify version and flavor

class { '::java_ng':
  flavor  => 'jdk',
  version => 8,

Example: lock the package version (Debian, Ubuntu)

class { '::java_ng':
  ensure  => 'held',
  version => 8,

Example: Oracle Java 8 (by selecting the PPA repository instead of preferred native OS repository)

class { '::java_ng':
  repo    => 'ppa:oracle',
  version => 8,



  • java_ng: Install Java
  • java_ng::install: Setup repositories and install packages
  • java_ng::params: Parameters and default values according to platform

java_ng class



ensure parameter for the Java packages. Default: undef.

Set to held, if the Java version is held in Debian or Ubuntu.


Java flavor. Default: 'headless'.


  • headless
  • jdk
  • jre


Java major version. Default: [8, 7].

It may be array or single value.


Repository to use. Default: ['native', 'ppa:openjdk', 'ppa:oracle'].

It may be array or single value.


  • native: native OS repository (mostly with OpenJDK Java)
  • ppa:openjdk: openjdk-r Ubuntu PPA repository (with the OpenJDK Java)
  • ppa:oracle: webupd8 Ubuntu PPA repository (with the Oracle Java)


Sets the heuristic to prefer Java version over the repository. Default: false.

It is used only when more Java versions and repositories are specified.

When true: the first specified version is used, if available in any repository.

When false: the repositories ordering is considered first (by default the native OS is the first).


Sets installed Java as default. Default: undef.

Used only with ppa:oracle.


  • java_ng_avail: Scans available Java versions and return matching version and repository


PPA repository is permitted also on Debian, there is always used the Ubuntu 14/trusty version.

Alternatives are not touched, set_default parameter is used only with ppa:oracle repository.