APIs Públicas para Versões do Oracle Java

O JMS fornece APIs para acessar informações sobre todas as releases públicas do Oracle Java, a partir da CPU de julho de 2019. Essas APIs RESTful oferecem acesso aos dados essenciais da versão Java, capacitando os administradores de sistemas a integrar as informações da versão Java perfeitamente em seus fluxos de trabalho operacionais.

As APIs são acessíveis por meio do domínio java.oraclecloud.com e podem ser usadas sem autenticação ou autorização. Eles também fornecem comandos de Download Compatível com Script para fazer download da versão Java necessária por meio do Download do Java JMS.

APIs REST Java

As APIs a seguir estão disponíveis que fornecem informações abrangentes sobre as versões públicas do Oracle Java. Para cada API, há parâmetros de entrada que você pode usar para filtrar informações específicas.

Versões do Java

API de Versões do Java - https://java.oraclecloud.com/javaVersions: recupera uma lista de versões do Oracle Java. Para cada versão Java, essa API apresenta as seguintes informações:

  • docUrl: fornece o URL da documentação.
  • endOfSupportLifeDate: fornece a data de término do suporte da release do Java.
  • jdkVersion: fornece o número da versão do JDK.
  • isSupportedVersion: indica se a versão do JDK é suportada ou não. Os valores são Verdadeiro ou Falso.
  • latestReleaseVersion: fornece o número da versão mais recente da release do JDK.
  • isLts: indica se a release é de Suporte a Longo Prazo (LTS) ou não. Os valores são Verdadeiro ou Falso.

Parâmetros de Entrada

  • jdkVersion (string): filtra o resultado pela versão principal do Java, como 8, 11, 17 ou 21
  • isSupportedVersion (booliano): filtra o resultado pelo status de suporte da Oracle. Valor aceito: <true>
  • isLts (booliano): filtra o resultado por status de suporte de longo prazo. Valores aceitos: <true or false>
  • sortBy (string): classifica o resultado por jdkVersion (valor padrão) ou endOfSupportLifeDate
  • sortOrder (string): ordene o resultado por DESC (valor padrão) ou ASC

Releases do Java

API de Versões Java - https://java.oraclecloud.com/javaReleases: recupera uma lista de releases do Oracle Java disponíveis publicamente, como releases de CPU, Recurso e Patch. Para cada versão Java, essa API apresenta as seguintes informações:
  • artifactContentTypes: fornece detalhes como o número mínimo de dias que uma release Java está na linha de base de segurança e se os comandos de download de script estão disponíveis na página Download do Java JMS.
  • jdkDetails: fornece detalhes sobre as Versões do Java.
  • licenseDetails: forneça detalhes como nome para exibição, tipo de licença e URL de licença.
  • releaseDate: fornece a data de release de uma versão específica do JDK.
  • releaseNotesUrl: exibe o URL da release do JDK.
  • releaseType: indica o tipo de release, como CPU, RECURSO ou PATCH_RELEASE.
  • releaseVersion: fornece o número da versão da release Java específica.
  • releaseFullVersion: fornece a versão completa, incluindo o número do build da release Java específica, por exemplo, jdk-22.0.1+8.
  • securityStatus: indica o status de segurança da release, como UP_TO_DATE, UPDATE_REQUIRED, UPGRADE_REQUIRED ou UNKNOWN.

Parâmetros de Entrada

  • jdkVersion (string): filtra o resultado pela versão principal do Java, como 8, 11, 17 ou 21
  • isSupportedVersion (booliano): filtra o resultado pelo status de suporte da Oracle. Valor aceito: <true>
  • isLts (booliano): filtra o resultado por status de suporte de longo prazo. Valores aceitos: <true or false>
  • licenseType (string): filtra o resultado pelo tipo de licença, como OTN ou NFTC
  • releaseType (string): filtra o resultado pelo tipo de release, como CPU, FEATURE ou PATCH_RELEASE
  • releaseVersion (string): filtra o resultado pela versão da release do Java
  • securityStatus (string): filtra o resultado pelo status de segurança, como UP_TO_DATE, UPDATE_REQUIRED, UPGRADE_REQUIRED ou UNKNOWN
  • daysUnderSecurityBaseline (inteiro): filtra o resultado pelo número de dias em que ele está na linha de base de segurança. 0 dias indica que ele está atualizado.
  • sortBy (string): classifica o resultado por releaseDate (valor padrão), releaseVersion, jdkVersion ou licenseType
  • sortOrder (string): ordene o resultado por DESC (valor padrão) ou ASC

Versão Java de uma Versão Específica

Versão Java da API de Versão Específica - https://java.oraclecloud.com/javaReleases/<$releaseVersion> (use o valor releaseVersion da API https://java.oraclecloud.com/javaReleases para ver detalhes dessa release. Por exemplo - https://java.oraclecloud.com/javaReleases/11.0.17 ou https://java.oraclecloud.com/javaReleases/1.8.0_421.

Essa API recupera informações completas sobre essa release específica, incluindo todos os artefatos disponíveis para essa versão. Para cada release do Java, a API apresenta as propriedades dos artefatos, como:

  • downloadFileSizeInBytes: fornece o tamanho do arquivo do pacote.
  • artifactType: indica o tipo de artefato, como JDK, JRE ou SERVER_JRE.
  • osFamily: indica o Sistema Operacional correspondente do artefato, como Linux, Windows ou macOS.
  • architecture: indica a arquitetura do sistema operacional, como aarch64, x64, sparcv9, i586 ou arm32.
  • packageType: indica os tipos de pacote suportados, como zip, exe, dmg, deb, rpm, tar.gz, msi ou tar.Z.
  • downloadCommand: fornece o comando de download amigável do script que permitirá fazer download do pacote na página de download do JMS Java. Certifique-se de fornecer o ID de Token correto para download integrado.
  • downloadUrl: fornece o URL de download amigável ao script que você pode usar para fazer download do pacote na página Download do Java JMS.
  • checksumCommand: fornece o comando de download amigável do script para obter a soma de verificação do artefato.
  • checksumUrl: fornece o URL de download com a soma de verificação correspondente.

Parâmetros de Entrada

  • artifactType (string): filtra os artefatos pelo tipo de conteúdo de artefato suportado, como JDK, JRE ou SERVER_JRE
  • osFamily (string): filtra os artefatos pelo sistema operacional suportado, como macOS, Windows, Linux ou Solaris
  • architecture (string): filtra os artefatos pela arquitetura do sistema operacional suportada, como aarch64, x64, sparcv9, i586 ou arm32
  • packageType (string): filtra os artefatos pelo tipo de pacote de artefatos suportado, como zip, exe, dmg, deb, rpm, tar.gz, msi ou tar.Z
  • sortBy (string): classifica o resultado por osFamily (valor padrão), architecture, artifactType ou packageType
  • sortOrder (string): ordena o resultado por DESC ou ASC (valor padrão)

Releases Atuais do Java

API de Versões Java Atuais - https://java.oraclecloud.com/currentJavaReleases: recupera uma lista de releases do Oracle Java suportadas no momento ( releases de CPU, Recurso e Patch). A API lista todas as releases que estão em conformidade com a linha de base de segurança, ou seja, o campo securityStatus definido como UP_TO_DATE. Para cada versão Java, essa API apresenta as seguintes informações:

  • artifactContentTypes: fornece detalhes como o número mínimo de dias que uma release Java está na linha de base de segurança e se os comandos de download de script estão disponíveis na página Download do Java JMS.
  • jdkDetails: fornece detalhes sobre as Versões do Java.
  • licenseDetails: forneça detalhes como nome para exibição, tipo de licença e URL de licença.
  • releaseDate: fornece a data de release de uma versão específica do JDK.
  • releaseNotesUrl: exibe o URL da release do JDK.
  • releaseType: indica o tipo de release, como CPU, RECURSO ou PATCH_RELEASE.
  • releaseVersion: fornece o número da versão da release Java específica.
  • releaseFullVersion: fornece a versão completa, incluindo o número do build da release Java específica, por exemplo, jdk-22.0.1+8.
  • securityStatus: indica o status de segurança da release, como UP_TO_DATE, UPDATE_REQUIRED, UPGRADE_REQUIRED ou UNKNOWN.

Parâmetros de Entrada

  • jdkVersion (string): filtra o resultado pela versão principal do Java, como 8, 11, 17 ou 21
  • isSupportedVersion (booliano): filtra o resultado pelo status de suporte da Oracle. Valor aceito: <true>
  • isLts (booliano): filtra o resultado por status de suporte de longo prazo. Valores aceitos: <true or false>
  • licenseType (string): filtra o resultado pelo tipo de licença, como OTN ou NFTC
  • releaseType (string): filtra o resultado pelo tipo de release, como CPU, FEATURE ou PATCH_RELEASE
  • sortBy (string): classifica o resultado por releaseDate (valor padrão), releaseVersion, jdkVersion ou licenseType
  • sortOrder (string): ordene o resultado por DESC (valor padrão) ou ASC

Versão Java Atual da Versão Java Específica

Versão Java Atual da API Específica da Versão Java - https://java.oraclecloud.com/currentJavaReleases/<$jdkVersion>: use o valor jdkVersion da API https://java.oraclecloud.com/javaVersions para ver os detalhes dessa versão. Por exemplo - https://java.oraclecloud.com/currentJavaReleases/23.

Essa API recupera informações completas sobre uma versão específica de uma release Java atual. Para cada versão Java, essa API apresenta as seguintes informações:

  • downloadFileSizeInBytes: fornece o tamanho do arquivo do pacote.
  • artifactType: indica o tipo de artefato, como JDK, JRE ou SERVER_JRE.
  • osFamily: indica o Sistema Operacional correspondente do artefato, como Linux, Windows ou macOS.
  • architecture: indica a arquitetura do sistema operacional, como aarch64, x64, sparcv9, i586 ou arm32.
  • packageType: indica os tipos de pacote suportados, como zip, exe, dmg, deb, rpm, tar.gz, msi ou tar.Z.
  • downloadCommand: fornece o comando de download amigável do script que permitirá fazer download do pacote na página Download JMS Java. Certifique-se de fornecer o ID de Token correto para download integrado.
  • downloadUrl: fornece o URL de download amigável ao script que você pode usar para fazer download do pacote na página Download do Java JMS.
  • checksumCommand: fornece o comando de download amigável do script para obter a soma de verificação do artefato.
  • checksumUrl: fornece o URL de download com a soma de verificação correspondente.

Parâmetros de Entrada

  • artifactType (string): filtra os artefatos pelo tipo de conteúdo de artefato suportado, como JDK, JRE ou SERVER_JRE
  • osFamily (string): filtra os artefatos pelo sistema operacional suportado, como macOS, Windows, Linux ou Solaris
  • architecture (string): filtra os artefatos pela arquitetura do sistema operacional suportada, como aarch64, x64, sparcv9, i586 ou arm32
  • packageType (string): filtra os artefatos pelo tipo de pacote de artefatos suportado, como zip, exe, dmg, deb, rpm, tar.gz, msi ou tar.Z
  • sortBy (string): classifica o resultado por osFamily (valor padrão), architecture, artifactType ou packageType
  • sortOrder (string): ordena o resultado por DESC ou ASC (valor padrão)

Usando APIs REST Java

Você pode usar os parâmetros de entrada da API Java para filtrar e recuperar somente as informações necessárias. Por exemplo, para filtrar apenas artefatos macOS aarch64 na release JDK 11.0.17, use:
https://java.oraclecloud.com/javaReleases/11.0.17?osFamily=macos&architecture=aarch64
Para fazer download da plataforma JDK 11 for Linux aarch64 mais recente na página Download do Java JMS, use:
curl -H "token:<$token>" -L -O https://java.oraclecloud.com/java/11/latest/jdk-11_linux-aarch64_bin.tar.gz
No comando de download, certifique-se de fornecer um ID de Token válido no campo <$token>.
Observação

O token é opcional para fazer download de releases Java sob a licença NFTC. Os downloads sem um token válido não aparecerão no Reporting.

Você também pode usar o comando checksum para verificar a integridade do pacote.