Forge Home


More parametrized Java installation


6,238 latest version

5.0 quality score

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 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.