Notices: This section not yet converted to new layout. Download stats are rolling back out.

This is not the latest version of Java SE available.

Java SE

8.0.121

Package test results are passing.

This package was approved as a trusted package on 3/16/2017.

By default this package installs JDK according to your platform (x86 or x64).

If you want to install 32bits JDK on 64bits OS

choco install jdk8 -params "x64=false"

or

choco install jdk8 -params "i586=true"

if you install by

choco install jdk8 -params "both=true"

then

Both 32bits and 64bits JDK will be installed and 64bits will be defaults.

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

C:\> choco install jdk8 -version 8.0.121

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

C:\> choco upgrade jdk8 -version 8.0.121

Files

Hide
  • tools\chocolateyInstall.ps1 Show
    $script_path = $(Split-Path -parent $MyInvocation.MyCommand.Definition)
    $common = $(Join-Path $script_path "common.ps1")
    . $common
     
    #installs jdk8
    try {
        $params = "$env:chocolateyPackageParameters" # -params '"x64=false;path=c:\\java\\jdk"'
        $params = (ConvertFrom-StringData $params.Replace(";", "`n")) 
         
        if (check-both($params)) {
            chocolatey-install $true
            chocolatey-install
            out-both($params)
        } else {
            out-i586($params)
            chocolatey-install
        }   
        set-path
    } catch {
        if ($_.Exception.InnerException) {
            $msg = $_.Exception.InnerException.Message
        } else {
            $msg = $_.Exception.Message
        }
        throw 
    }  
  • tools\chocolateyUninstall.ps1 Show
    $script_path = $(Split-Path -parent $MyInvocation.MyCommand.Definition)
    $common = $(Join-Path $script_path "common.ps1")
    . $common
     
    function Uninstall-ChocolateyPath {
    param(
      [string] $pathToUninstall,
      [System.EnvironmentVariableTarget] $pathType = [System.EnvironmentVariableTarget]::User
    )
      Write-Debug "Running 'Uninstall-ChocolateyPath' with pathToUninstall:`'$pathToUninstall`'";
       
      #get the PATH variable
      $envPath = $env:PATH
      if ($envPath.ToLower().Contains($pathToUninstall.ToLower()))
      {
        Write-Host "PATH environment variable has $pathToUninstall in it. Removing..."
        $actualPath = [Environment]::GetEnvironmentVariable('Path', $pathType)
     
        $statementTerminator = ";"
        # remove $pathToUninstall
        $actualPath = (($actualPath -split $statementTerminator) -ne $pathToUninstall) -join $statementTerminator
     
        if ($pathType -eq [System.EnvironmentVariableTarget]::Machine) {
          $psArgs = "[Environment]::SetEnvironmentVariable('Path',`'$actualPath`', `'$pathType`')"
          Start-ChocolateyProcessAsAdmin "$psArgs"
        } else {
          [Environment]::SetEnvironmentVariable('Path', $actualPath, $pathType)
        }    
         
        #add it to the local path as well so users will be off and running
        $env:Path = $actualPath
      }
    }
     
    function Uninstall-JDK-And-JRE {
        if (Test-Path (Join-Path $script_path "both.txt")) {
            $jdk = "/qn /x {64A3A4F4-B792-11D6-A78A-00B0D0" + $uninstall_id + "}"
            Start-ChocolateyProcessAsAdmin $jdk 'msiexec'
            #Start-ChocolateyProcessAsAdmin $jre 'msiexec'
            $jdk = "/qn /x {32A3A4F4-B792-11D6-A78A-00B0D0" + $uninstall_id + "}"
            Start-ChocolateyProcessAsAdmin $jdk 'msiexec'
            #Start-ChocolateyProcessAsAdmin $jre 'msiexec'
        } else {
            $use64bit = use64bit
            if ($use64bit) {
                $jdk = "/qn /x {64A3A4F4-B792-11D6-A78A-00B0D0" + $uninstall_id + "}"
            } else {
                $jdk = "/qn /x {32A3A4F4-B792-11D6-A78A-00B0D0" + $uninstall_id + "}"
            }
            Start-ChocolateyProcessAsAdmin $jdk 'msiexec'
        }
    }
    try {  
      Uninstall-JDK-And-JRE
     
      $java_bin = get-java-bin
      Uninstall-ChocolateyPath $java_bin 'Machine'
      if ([Environment]::GetEnvironmentVariable('CLASSPATH','Machine') -eq '.;') {
            Install-ChocolateyEnvironmentVariable 'CLASSPATH' $null 'Machine'
      }
      Install-ChocolateyEnvironmentVariable 'JAVA_HOME' $null 'Machine'
    } catch {
        # ingore exception
    }
  • tools\common.ps1 Show
    $jdk_version = '8u121'
    $build = '13'
    $java_version = "1.8.0_121"
    $uninstall_id = "180121"
    $id = "e9e7ea248e2c4826b92b3f075a80e441"
    $script_path = $(Split-Path -parent $MyInvocation.MyCommand.Definition)
     
    function use64bit($Forcei586 = $false) {
        if ($Forcei586) {
            return $false
        }
        if (Test-Path (Join-Path $script_path "i586.txt")) {
            return $false
        }
        $is64bitOS = Get-ProcessorBits 64
        return $is64bitOS
    }
     
    function has_file($filename) {
        return Test-Path $filename
    }
     
    function get-programfilesdir() {
        if ((use64bit) -or (Get-ProcessorBits 32)) {
            $programFiles = (Get-Item "Env:ProgramFiles").Value
        } else {
            $programFiles = (Get-Item "Env:ProgramFiles(x86)").Value
        }
     
        return $programFiles
    }
     
     
    function download-from-oracle($url, $output_filename) {
        if (-not (has_file($output_fileName))) {
            Write-Host  "Downloading JDK from $url"
     
            try {
                [System.Net.ServicePointManager]::ServerCertificateValidationCallback = { $true }
     
                $client = New-Object Net.WebClient
                $dummy = $client.Headers.Add('Cookie', 'gpw_e24=http://www.oracle.com; oraclelicense=accept-securebackup-cookie')
     
                $defaultCreds = [System.Net.CredentialCache]::DefaultCredentials
                if ($defaultCreds -ne $null) {
                    $client.Credentials = $defaultCreds
                }    
     
                # Copy from https://github.com/chocolatey/choco/blob/master/src/chocolatey.resources/helpers/functions/Get-WebFile.ps1
                # check if a proxy is required
                $explicitProxy = $env:chocolateyProxyLocation
                $explicitProxyUser = $env:chocolateyProxyUser
                $explicitProxyPassword = $env:chocolateyProxyPassword
                if ($explicitProxy -ne $null) {
                    # explicit proxy
                  $proxy = New-Object System.Net.WebProxy($explicitProxy, $true)
                  if ($explicitProxyPassword -ne $null) {
                      $passwd = ConvertTo-SecureString $explicitProxyPassword -AsPlainText -Force
                      $proxy.Credentials = New-Object System.Management.Automation.PSCredential ($explicitProxyUser, $passwd)
                  }
     
                  Write-Host "Using explicit proxy server '$explicitProxy'."
                    $client.Proxy = $proxy
     
                } elseif (!$client.Proxy.IsBypassed($url)) {
                  # system proxy (pass through)
                    $creds = [net.CredentialCache]::DefaultCredentials
                    if ($creds -eq $null) {
                        Write-Debug "Default credentials were null. Attempting backup method"
                        $cred = get-credential
                        $creds = $cred.GetNetworkCredential();
                    }
                    $proxyaddress = $client.Proxy.GetProxy($url).Authority
                    Write-Host "Using system proxy server '$proxyaddress'."
                    $proxy = New-Object System.Net.WebProxy($proxyaddress)
                    $proxy.Credentials = $creds
                    $client.Proxy = $proxy
               }
                   
               $dummy = $client.DownloadFile($url, $output_filename)
            } finally {
                [System.Net.ServicePointManager]::ServerCertificateValidationCallback = $null
            }
        }  
    }
     
    function download-jdk-file($url, $output_filename) {
        $dummy = download-from-oracle $url $output_filename
    }
     
    function download-jdk($Forcei586 = $false) {
        $arch = get-arch $Forcei586
        $filename = "jdk-$jdk_version-windows-$arch.exe"
        $url = "http://download.oracle.com/otn-pub/java/jdk/$jdk_version-b$build/$id/$filename"
        $output_filename = Join-Path $script_path $filename
     
        $dummy = download-jdk-file $url $output_filename
     
        return $output_filename
    }
     
     
    function get-java-home() {
        $program_files = get-programfilesdir
        return Join-Path $program_files "Java\jdk$java_version"
    }
     
    function get-java-bin() {
        $java_home = get-java-home
        return Join-Path $java_home 'bin'
    }
     
    function get-arch($Forcei586 = $false) {
        if((use64bit $Forcei586)) {
            return "x64"
        } else {
            return "i586"
        }
    }
     
    function chocolatey-install($Forcei586 = $false) {
        $jdk_file = download-jdk $Forcei586
        $arch = get-arch $Forcei586
        $java_home = get-java-home
        $java_bin = get-java-bin
     
        Install-ChocolateyInstallPackage 'jdk8' 'exe' '/s STATIC=1 ADDLOCAL="ToolsFeature,SourceFeature"' $jdk_file          
    }
     
    function set-path() {
        $java_home = get-java-home
        $java_bin = get-java-bin
        Install-ChocolateyPath $java_bin 'Machine'             
              
        if ([Environment]::GetEnvironmentVariable('CLASSPATH','Machine') -eq $null) {
            Install-ChocolateyEnvironmentVariable 'CLASSPATH' '.;' 'Machine'
        }
     
        Install-ChocolateyEnvironmentVariable 'JAVA_HOME' $java_home 'Machine'
    }
     
    function out-i586($params) {
        if ($params.i586 -eq $true -or $params.x64 -eq $false) {
            Out-File (Join-Path $script_path "i586.txt")
        }
    }
     
    function check-both($params) {
        return ($params.both -eq $true) -and (use64bit) 
    }
     
    function out-both($params) {
        if (check-both($params)) {
                Out-File (Join-Path $script_path "both.txt")
        }
    }

Virus Scan Results

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.

Dependencies

This package has no dependencies.

Maintainer(s)

Software Author(s)

  • Sun Microsystems/Oracle Corporation

Tags

Release Notes

Java SE Development Kit 8u121

changes:
-8u121
-fix issue for ServerCertificateValidationCallback

Version History

Version Downloads Last updated Status
Java SE 8.0.121 130156 Thursday, January 19, 2017 approved
Java SE 8.0.112 337273 Saturday, October 22, 2016 approved
Java SE 8.0.102 41264 Thursday, July 21, 2016 approved
Java SE 8.0.92.1 453 Monday, May 30, 2016 approved
Java SE 8.0.92 6308 Thursday, April 21, 2016 approved
Java SE 8.0.77 8659 Tuesday, March 29, 2016 approved
Java SE 8.0.74 11810 Tuesday, February 9, 2016 approved
Java SE 8.0.72 4475 Thursday, January 21, 2016 approved
Show More

Discussion for the Java SE Package

Ground rules:

  • This discussion is only about Java SE and the Java SE 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, 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