Unpacking Software Livestream

Join our monthly Unpacking Software livestream to hear about the latest news, chat and opinion on packaging, software deployment and lifecycle management!

Learn More

Chocolatey Product Spotlight

Join the Chocolatey Team on our regular monthly stream where we put a spotlight on the most recent Chocolatey product releases. You'll have a chance to have your questions answered in a live Ask Me Anything format.

Learn More

Chocolatey Coding Livestream

Join us for the Chocolatey Coding Livestream, where members of our team dive into the heart of open source development by coding live on various Chocolatey projects. Tune in to witness real-time coding, ask questions, and gain insights into the world of package management. Don't miss this opportunity to engage with our team and contribute to the future of Chocolatey!

Learn More

Calling All Chocolatiers! Whipping Up Windows Automation with Chocolatey Central Management

Webinar from
Wednesday, 17 January 2024

We are delighted to announce the release of Chocolatey Central Management v0.12.0, featuring seamless Deployment Plan creation, time-saving duplications, insightful Group Details, an upgraded Dashboard, bug fixes, user interface polishing, and refined documentation. As an added bonus we'll have members of our Solutions Engineering team on-hand to dive into some interesting ways you can leverage the new features available!

Watch On-Demand
Chocolatey Community Coffee Break

Join the Chocolatey Team as we discuss all things Community, what we do, how you can get involved and answer your Chocolatey questions.

Watch The Replays
Chocolatey and Intune Overview

Webinar Replay from
Wednesday, 30 March 2022

At Chocolatey Software we strive for simple, and teaching others. Let us teach you just how simple it could be to keep your 3rd party applications updated across your devices, all with Intune!

Watch On-Demand
Chocolatey For Business. In Azure. In One Click.

Livestream from
Thursday, 9 June 2022

Join James and Josh to show you how you can get the Chocolatey For Business recommended infrastructure and workflow, created, in Azure, in around 20 minutes.

Watch On-Demand
The Future of Chocolatey CLI

Livestream from
Thursday, 04 August 2022

Join Paul and Gary to hear more about the plans for the Chocolatey CLI in the not so distant future. We'll talk about some cool new features, long term asks from Customers and Community and how you can get involved!

Watch On-Demand
Hacktoberfest Tuesdays 2022

Livestreams from
October 2022

For Hacktoberfest, Chocolatey ran a livestream every Tuesday! Re-watch Cory, James, Gary, and Rain as they share knowledge on how to contribute to open-source projects such as Chocolatey CLI.

Watch On-Demand

Downloads:

30,863,929

Downloads of v 8.0.211:

1,000,726

Last Update:

25 Apr 2019

Package Maintainer(s):

Software Author(s):

  • Oracle

Tags:

java runtime environment

Java SE Runtime Environment

This is not the latest version of Java SE Runtime Environment available.

  • 1
  • 2
  • 3

8.0.211 | Updated: 25 Apr 2019

Downloads:

30,863,929

Downloads of v 8.0.211:

1,000,726

Software Author(s):

  • Oracle

Java SE Runtime Environment 8.0.211

This is not the latest version of Java SE Runtime Environment available.

  • 1
  • 2
  • 3

Some Checks Have Failed or Are Not Yet Complete

Not All Tests Have Passed


Validation Testing Passed


Verification Testing Passed

Details

Scan Testing Resulted in Investigate

Details
Learn More

Deployment Method: Individual Install, Upgrade, & Uninstall

To install Java SE Runtime Environment, run the following command from the command line or from PowerShell:

>

To upgrade Java SE Runtime Environment, run the following command from the command line or from PowerShell:

>

To uninstall Java SE Runtime Environment, run the following command from the command line or from PowerShell:

>

Deployment Method:

NOTE

This applies to both open source and commercial editions of Chocolatey.

1. Enter Your Internal Repository Url

(this should look similar to https://community.chocolatey.org/api/v2/)


2. Setup Your Environment

1. Ensure you are set for organizational deployment

Please see the organizational deployment guide

2. Get the package into your environment

  • Open Source or Commercial:
    • Proxy Repository - Create a proxy nuget repository on Nexus, Artifactory Pro, or a proxy Chocolatey repository on ProGet. Point your upstream to https://community.chocolatey.org/api/v2/. Packages cache on first access automatically. Make sure your choco clients are using your proxy repository as a source and NOT the default community repository. See source command for more information.
    • You can also just download the package and push it to a repository Download

3. Copy Your Script

choco upgrade jre8 -y --source="'INTERNAL REPO URL'" --version="'8.0.211'" [other options]

See options you can pass to upgrade.

See best practices for scripting.

Add this to a PowerShell script or use a Batch script with tools and in places where you are calling directly to Chocolatey. If you are integrating, keep in mind enhanced exit codes.

If you do use a PowerShell script, use the following to ensure bad exit codes are shown as failures:


choco upgrade jre8 -y --source="'INTERNAL REPO URL'" --version="'8.0.211'" 
$exitCode = $LASTEXITCODE

Write-Verbose "Exit code was $exitCode"
$validExitCodes = @(0, 1605, 1614, 1641, 3010)
if ($validExitCodes -contains $exitCode) {
  Exit 0
}

Exit $exitCode

- name: Install jre8
  win_chocolatey:
    name: jre8
    version: '8.0.211'
    source: INTERNAL REPO URL
    state: present

See docs at https://docs.ansible.com/ansible/latest/modules/win_chocolatey_module.html.


chocolatey_package 'jre8' do
  action    :install
  source   'INTERNAL REPO URL'
  version  '8.0.211'
end

See docs at https://docs.chef.io/resource_chocolatey_package.html.


cChocoPackageInstaller jre8
{
    Name     = "jre8"
    Version  = "8.0.211"
    Source   = "INTERNAL REPO URL"
}

Requires cChoco DSC Resource. See docs at https://github.com/chocolatey/cChoco.


package { 'jre8':
  ensure   => '8.0.211',
  provider => 'chocolatey',
  source   => 'INTERNAL REPO URL',
}

Requires Puppet Chocolatey Provider module. See docs at https://forge.puppet.com/puppetlabs/chocolatey.


4. If applicable - Chocolatey configuration/installation

See infrastructure management matrix for Chocolatey configuration elements and examples.

NOTE

Private CDN cached downloads available for licensed customers. Never experience 404 breakages again! Learn more...

Package Approved

This package was approved as a trusted package on 04 Jul 2019.

Description

Java allows you to play online games, chat with people around the world, calculate your mortgage interest, and view images in 3D, just to name a few. It's also integral to the intranet applications and other e-business solutions that are the foundation of corporate computing. Please note you now need a Java License from Oracle to use unless installed for Personal Use and Development Use.

Note

This package installs the Java version offered at https://www.java.com. It also sets SPONSORS=0 (see docs).

If you wish to only install the 32-bit version of Java use the /exclude parameter. The switch to exclude 32-bit is /exclude:32 and to exclude 64-bit /exclude:64
For example: choco install jre8 -PackageParameters "/exclude:64" -y
This package no longer manually adds an environment variable.
x86 installs of Windows you can expect to see an error while reading the registry, but the script will still function normally.

This package can install 32-bit, 64-bit, or both versions. Find on GitHub


tools\chocolateyInstall.ps1
try {

$arguments = @{}

  # Now we can use the $env:chocolateyPackageParameters inside the Chocolatey package
  $packageParameters = $env:chocolateyPackageParameters

  # Default value
  $exclude = $null

  # Now parse the packageParameters using good old regular expression
  if ($packageParameters) {
      $match_pattern = "\/(?<option>([a-zA-Z0-9]+)):(?<value>([`"'])?([a-zA-Z0-9- \(\)\s_\\:\.]+)([`"'])?)|\/(?<option>([a-zA-Z]+))"
      $option_name = 'option'
      $value_name = 'value'

      if ($packageParameters -match $match_pattern ){
          $results = $packageParameters | Select-String $match_pattern -AllMatches
          $results.matches | % {
            $arguments.Add(
                $_.Groups[$option_name].Value.Trim(),
                $_.Groups[$value_name].Value.Trim())
        }
      }
      else
      {
          Throw "Package Parameters were found but were invalid (REGEX Failure)"
      }

      if($arguments.ContainsKey("exclude")) {
          Write-Host "exclude Argument Found"
          $exclude = $arguments["exclude"]
      }

  } else {
      Write-Debug "No Package Parameters Passed in"
  }

  $scriptDir = $(Split-Path -parent $MyInvocation.MyCommand.Definition)
  
  $packageName = 'jre8'
  # Modify these values -----------------------------------------------------
  # Find download URLs at http://www.java.com/en/download/manual.jsp
  $url = 'https://javadl.oracle.com/webapps/download/AutoDL?BundleId=238727_478a62b7d4e34b78b671c754eaaf38ab'
  $checksum32 = '47DE97325B8EA90EA9F93E1595CC7F843DA0C9C6E4C9532ABEA3A194CFB621D9'
  $url64 = 'https://javadl.oracle.com/webapps/download/AutoDL?BundleId=238729_478a62b7d4e34b78b671c754eaaf38ab'
  $checksum64 = 'C18CF8F2776B69DC838440AADFAAE36F50717636F38EEC5F1E4A27A8CB4F20FB'
  $oldVersion = '8.0.2010.9'
  $version = '8.0.2110.12'
  #--------------------------------------------------------------------------
  $homepath = $version -replace "(\d+\.\d+)\.(\d\d)(.*)",'jre1.$1_$2'
  $installerType = 'exe'
  $installArgs = "/s REBOOT=0 SPONSORS=0 AUTO_UPDATE=0 $32dir"
  $installArgs64 = "/s REBOOT=0 SPONSORS=0 AUTO_UPDATE=0 $64dir"
  $osBitness = Get-ProcessorBits
  $cachepath = "$env:temp\$packagename\$version"
  Write-Host "The software license has changed for Java and this software must be licensed for general business use. Please ensure your licensing is compliant before installing." -ForegroundColor white -BackgroundColor red
  #This checks to see if current version is already installed
  Write-Output "Checking to see if local install is already up to date..."
  try{
  $checkreg64 = Get-ItemProperty HKLM:\Software\Microsoft\Windows\CurrentVersion\Uninstall\* | Select-Object DisplayName, DisplayVersion | Where-Object { $_.DisplayName -like '*Java 8*' -and ([Version]$_.DisplayVersion) -eq $version} -ErrorAction SilentlyContinue
  $checkreg32 = Get-ItemProperty HKLM:\Software\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall\* | Select-Object DisplayName, DisplayVersion | Where-Object { $_.DisplayName -like '*Java 8*' -and ([Version]$_.DisplayVersion) -eq $version} -ErrorAction SilentlyContinue
  }catch{
  Write-Output "Registry check failed. This is commonly caused by corrupt keys (Do you have netbeans installed?)"
  }

    # Checks if JRE 32/64-bit in the same version is already installed and if the user excluded 32-bit Java.
    # Otherwise it downloads and installs it.
    # This is to avoid unnecessary downloads and 1603 errors.
    if ($checkreg32 -ne $null) 
    {
      Write-Output "Java Runtime Environment $version (32-bit) is already installed. Skipping download and installation"
    } 
    elseif ($exclude -ne "32") 
    {
      Write-Output "Downloading 32-bit installer"
      Get-ChocolateyWebFile -packageName $packageName -fileFullPath "$cachepath\JRE8x86.exe" -url $url -checksum $checksum32 -checksumType 'SHA256'
      Write-Output "Installing JRE $version 32-bit"
      Install-ChocolateyInstallPackage -packageName JRE8 -fileType $installerType -silentArgs $installArgs -file "$cachepath\JRE8x86.exe"
      #Install-ChocolateyPackage $packageName $installerType $installArgs -url "$env:temp\chocolatey\$packagename\$version\JRE8x86.exe" -checksum $checksum32 -checksumtype 'sha256'
    } 
    else 
    {
      Write-Output "Java Runtime Environment $Version (32-bit) excluded for installation"
    }

    # Only check for the 64-bit version if the system is 64-bit

    if ($osBitness -eq 64) 
    {
      if ($checkreg64 -ne $null) 
      {
        Write-Output "Java Runtime Environment $version (64-bit) is already installed. Skipping download and installation"
      } 
      elseif ($exclude -ne "64") 
      {
        Write-Output "Downloading 64-bit installer"
        Get-ChocolateyWebFile -packageName $packageName -fileFullPath "$cachepath\JRE8x64.exe" -url64 $url64 -checksum64 $checksum64 -checksumType 'SHA256'
        Write-Output "Installing JRE $version 64-bit"
        Install-ChocolateyInstallPackage -packageName JRE8 -fileType $installerType -silentArgs $installArgs -file64 "$cachepath\JRE8x64.exe"

       # Install-ChocolateyPackage $packageName $installerType $installArgs64 -url64bit "$env:temp\chocolatey\$packagename\$version\JRE8x64.exe" -checksum64 $checksum64 -checksumtype64 'sha256'
      } 
      else 
      {
        Write-Output "Java Runtime Environment $Version (64-bit) excluded for installation"
      }
    }
  
  #Uninstalls the previous version of Java if either version exists
  Write-Output "Searching if the previous version exists..."
  $checkoldreg64 = Get-ItemProperty HKLM:\Software\Microsoft\Windows\CurrentVersion\Uninstall\* | Select-Object DisplayName, DisplayVersion, PSChildName | Where-Object { $_.DisplayName -like '*Java 8*' -and ([Version]$_.DisplayVersion) -eq $oldversion} -ErrorAction SilentlyContinue
  $checkoldreg32 = Get-ItemProperty HKLM:\Software\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall\* | Select-Object DisplayName, DisplayVersion, PSChildName | Where-Object { $_.DisplayName -like '*Java 8*' -and ([Version]$_.DisplayVersion) -eq $oldversion} -ErrorAction SilentlyContinue
 
  if($checkoldreg32 -ne $null) 
  {
     Write-Warning "Uninstalling JRE version $oldVersion 32bit"
     $32 = $checkoldreg32.PSChildName
     Start-ChocolateyProcessAsAdmin "/qn /norestart /X$32" -exeToRun "msiexec.exe" -validExitCodes @(0,1605,3010)
  }
  if($checkoldreg64 -ne $null)
  {
     Write-Warning "Uninstalling JRE version $oldVersion $osBitness bit" #Formatted weird because this is used if run on a x86 install
     $64 = $checkoldreg64.PSChildName
     Start-ChocolateyProcessAsAdmin "/qn /norestart /X$64" -exeToRun "msiexec.exe" -validExitCodes @(0,1605,3010)
  }
} catch {
  #Write-ChocolateyFailure $packageName $($_.Exception.Message)
  throw
}
tools\chocolateyUninstall.ps1
Write-Debug ("Starting " + $MyInvocation.MyCommand.Definition)

$scriptDir = $(Split-Path -parent $MyInvocation.MyCommand.Definition)


[string]$packageName="JRE8"
$version = '8.0.2110.12'
#$thisJreInstalledHash = thisJreInstalled($version)
  $checkreg64 = Get-ItemProperty HKLM:\Software\Microsoft\Windows\CurrentVersion\Uninstall\* | Select-Object DisplayName, DisplayVersion, PSChildName | Where-Object { $_.DisplayName -like '*Java 8*' -and ([Version]$_.DisplayVersion) -eq $version} -ErrorAction SilentlyContinue
  $checkreg32 = Get-ItemProperty HKLM:\Software\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall\* | Select-Object DisplayName, DisplayVersion, PSChildName | Where-Object { $_.DisplayName -like '*Java 8*' -and ([Version]$_.DisplayVersion) -eq $version} -ErrorAction SilentlyContinue
  $osBitness = Get-ProcessorBits
<#
Exit Codes:
    0: Java installed successfully.
    1605: Java is not installed.
    3010: A reboot is required to finish the install.
#>

if($checkreg32 -ne $null) 
  {
     Write-Warning "Uninstalling JRE version $Version 32bit"
     $32 = $checkreg32.PSChildName
     Start-ChocolateyProcessAsAdmin "/qn /norestart /X$32" -exeToRun "msiexec.exe" -validExitCodes @(0,1605,3010)
  }
  if($checkreg64 -ne $null)
  {
     Write-Warning "Uninstalling JRE version $Version $osBitness bit" #Formatted weird for x86 windows installs
     $64 = $checkreg64.PSChildName
     Start-ChocolateyProcessAsAdmin "/qn /norestart /X$64" -exeToRun "msiexec.exe" -validExitCodes @(0,1605,3010)
  }

Write-Warning "$packageName may require a reboot to complete the uninstallation."
tools\thisJreInstalled.ps1
# NOTE - THIS SCRIPT IS NO LONGER IN USE AND WILL BE REMOVED IN A FUTURE VERSION
# This function checks if the same version of JRE is already installed on the computer.
# It returns a hash map with a 'x86_32' and 'x86_64'. These values are not empty if the
# same version and bitness of JRE is already installed.
function thisJreInstalled($version) {
  $productSearch = Get-WmiObject -Class Win32_Product | Where-Object {$_.Name -match '^Java \d+ Update \d+'}
  
  # The regexes for the name of the JRE registry entries (32- and 64 bit versions)
  $nameRegex32 = '^Java \d+ Update \d+$'
  $nameRegex64 = '^Java \d+ Update \d+ \(64-bit\)$'
  $versionRegex = $('^' + $version + '\d*$')

  $x86_32 = $productSearch | Where-Object {$_.Name -match $nameRegex32 -and $_.Version -match $versionRegex}
  $x86_64 = $productSearch | Where-Object {$_.Name -match $nameRegex64 -and $_.Version -match $versionRegex}
  if($x86_32 -eq $null)
  {
    $x86_32 = $false
  }
  if($x86_64 -eq $null)
  {
    $x86_64 = $false
  } 
  return $x86_32,$x86_64
} 

Log in or click on link to see number of positives.

In cases where actual malware is found, the packages are subject to removal. Software sometimes has false positives. Moderators do not necessarily validate the safety of the underlying software, only that a package retrieves software from the official distribution point and/or validate embedded software against official distribution point (where distribution rights allow redistribution).

Chocolatey Pro provides runtime protection from possible malware.

Add to Builder Version Downloads Last Updated Status
Java SE Runtime Environment 8.0.391 1083155 Thursday, October 19, 2023 Approved
Java SE Runtime Environment 8.0.381 1315851 Wednesday, August 2, 2023 Approved
Java SE Runtime Environment 8.0.371 1237503 Tuesday, May 2, 2023 Approved
Java SE Runtime Environment 8.0.361 1195430 Tuesday, January 31, 2023 Approved
Java SE Runtime Environment 8.0.351 1160432 Tuesday, October 25, 2022 Approved
Java SE Runtime Environment 8.0.341 843825 Wednesday, July 27, 2022 Approved
Java SE Runtime Environment 8.0.333 736410 Thursday, May 19, 2022 Approved
Java SE Runtime Environment 8.0.331 386692 Thursday, April 28, 2022 Approved
Java SE Runtime Environment 8.0.321 836244 Tuesday, February 1, 2022 Exempted
Java SE Runtime Environment 8.0.311 852497 Monday, October 25, 2021 Approved
Java SE Runtime Environment 8.0.301 855497 Friday, July 30, 2021 Approved
Java SE Runtime Environment 8.0.291 819360 Wednesday, April 28, 2021 Approved
Java SE Runtime Environment 8.0.281 827121 Wednesday, January 27, 2021 Approved
Java SE Runtime Environment 8.0.271 837033 Friday, October 30, 2020 Approved
Java SE Runtime Environment 8.0.261 967211 Wednesday, July 29, 2020 Approved
Java SE Runtime Environment 8.0.251 1022912 Wednesday, April 29, 2020 Approved
Java SE Runtime Environment 8.0.241 1096110 Tuesday, January 21, 2020 Approved
Java SE Runtime Environment 8.0.231 1202644 Tuesday, October 29, 2019 Approved
Java SE Runtime Environment 8.0.221 1306759 Friday, July 19, 2019 Approved
Java SE Runtime Environment 8.0.211 1000726 Thursday, April 25, 2019 Approved
Java SE Runtime Environment 8.0.201 1239290 Wednesday, January 23, 2019 Approved
Java SE Runtime Environment 8.0.191.20181114 724533 Wednesday, November 14, 2018 Approved
Java SE Runtime Environment 8.0.191 166571 Saturday, November 10, 2018 Approved
Java SE Runtime Environment 8.0.181 1097591 Wednesday, July 25, 2018 Approved
Java SE Runtime Environment 8.0.171 690568 Monday, April 30, 2018 Approved
Java SE Runtime Environment 8.0.161 1284703 Tuesday, January 23, 2018 Approved
Java SE Runtime Environment 8.0.151 1133175 Friday, October 27, 2017 Approved
Java SE Runtime Environment 8.0.144 665303 Friday, August 11, 2017 Approved
Java SE Runtime Environment 8.0.141 214949 Thursday, July 20, 2017 Approved
Java SE Runtime Environment 8.0.131 654671 Friday, April 28, 2017 Approved
Java SE Runtime Environment 8.0.121 545631 Thursday, February 2, 2017 Approved
Java SE Runtime Environment 8.0.111 586845 Saturday, November 5, 2016 Approved
Java SE Runtime Environment 8.0.101.20160917 374249 Sunday, September 18, 2016 Approved
Java SE Runtime Environment 8.0.101 402049 Friday, July 22, 2016 Approved
Java SE Runtime Environment 8.0.91 34957 Friday, April 22, 2016 Approved
Java SE Runtime Environment 8.0.77 44845 Saturday, March 26, 2016 Approved
Java SE Runtime Environment 8.0.73 58571 Thursday, February 11, 2016 Approved
Java SE Runtime Environment 8.0.71 30976 Thursday, January 21, 2016 Approved
Java SE Runtime Environment 8.0.66 56875 Thursday, November 19, 2015 Approved
Java SE Runtime Environment 8.0.65 37648 Sunday, October 25, 2015 Approved
Java SE Runtime Environment 8.0.60.20150902 52992 Wednesday, September 2, 2015 Approved
Java SE Runtime Environment 8.0.51 52326 Wednesday, July 22, 2015 Approved
Java SE Runtime Environment 8.0.45 308735 Wednesday, April 22, 2015 Approved
Java SE Runtime Environment 8.0.40.20150402 796 Tuesday, April 14, 2015 Approved
Java SE Runtime Environment 8.0.40.20150325 679 Saturday, March 28, 2015 Approved
Java SE Runtime Environment 8.0.40 32354 Tuesday, March 17, 2015 Approved
Java SE Runtime Environment 8.0.31 16970 Thursday, January 22, 2015 Approved
Java SE Runtime Environment 8.0.25.03 6622 Monday, November 10, 2014 Approved
Java SE Runtime Environment 8u25 8.0.25.02 2267 Friday, October 24, 2014 Approved
Java SE Runtime Environment 8u25 8.0.25.01 864 Thursday, October 23, 2014 Approved
Java SE Runtime Environment 8u25 8.0.25 1399 Wednesday, October 15, 2014 Approved
Java SE Runtime Environment 8u20 8.0.20.01 1011 Sunday, September 7, 2014 Approved
Java SE Runtime Environment 8u20 8.0.20 2973 Wednesday, September 3, 2014 Approved

This package has no dependencies.

Discussion for the Java SE Runtime Environment Package

Ground Rules:

  • This discussion is only about Java SE Runtime Environment and the Java SE Runtime Environment package. If you have feedback for Chocolatey, please contact the Google Group.
  • This discussion will carry over multiple versions. If you have a comment about a particular version, please note that in your comments.
  • The maintainers of this Chocolatey Package will be notified about new comments that are posted to this Disqus thread, however, it is NOT a guarantee that you will get a response. If you do not hear back from the maintainers after posting a message below, please follow up by using the link on the left side of this page or follow this link to contact maintainers. If you still hear nothing back, please follow the package triage process.
  • Tell us what you love about the package or Java SE Runtime Environment, or tell us what needs improvement.
  • Share your experiences with the package, or extra configuration or gotchas that you've found.
  • If you use a url, the comment will be flagged for moderation until you've been whitelisted. Disqus moderated comments are approved on a weekly schedule if not sooner. It could take between 1-5 days for your comment to show up.
comments powered by Disqus