Como criar um aplicativo em Java

Especificar uma versão do Java

Por padrão, é usada a versão mais recente do Java 11. Se seu aplicativo exigir uma versão específica, use a variável de ambiente GOOGLE_RUNTIME_VERSION para especificar uma versão do JDK:

pack build sample-java --builder=gcr.io/buildpacks/builder \
  --env GOOGLE_RUNTIME_VERSION=17

Também é possível usar um descritor de projeto project.toml para codificar a variável de ambiente com os arquivos do projeto. Veja instruções sobre como criar o aplicativo com variáveis de ambiente.

Gerenciar dependências

A configuração de dependências é compatível com projetos que usam o Maven ou o Gradle.

Configure o Maven

As configurações do Maven podem ser aplicadas usando a variável de ambiente MAVEN_OPTS. Consulte a documentação para mais instruções.

Exemplos:

  • MAVEN_OPTS=-Xms256m -Xmx512m transmite essas flags para a JVM que executa o Maven.
  • MAVEN_OPTS=--add-opens java.base/java.lang=ALL-UNNAMED para suprimir avisos de "acesso refletivo ilegal" do Maven.

Para gerenciar a dependência do projeto no próprio Maven, use o Maven Wrapper. Se você não usar o Maven Wrapper, os buildpacks usarão por padrão uma versão recente do Maven ao executar pack build.

Configurar o Gradle

As configurações do Gradle podem ser aplicadas usando a variável de ambiente GRADLE_OPTS. Consulte a documentação para mais instruções.

Exemplo:

GRADLE_OPTS=-Xms256m -Xmx512m transmite essas flags para a JVM que executa o Gradle.

Espelhamento do Maven Central hospedado pelo Google Cloud

É possível usar o espelhamento hospedado do Maven Central especificando os URLs disponíveis.

Espelhar repositórios no Maven

Para configurar um espelhamento, siga as instruções em Como usar espelhamento de repositórios na documentação do projeto do Maven.

Crie uma cópia de settings.xml a partir do local padrão de ~/.m2/settings.xml até o interior do diretório de origem do aplicativo e especifique GOOGLE_BUILD_ARGS=--settings <path/to/settings>.

Observação: é relativo ao diretório de origem.

Exemplo de arquivo settings.xml:

<settings>
  <mirrors>
    <mirror>
      <id>google-maven-central</id>
      <name>Cloud Storage Maven Central mirror</name>
      <url>https://maven-central.storage-download.googleapis.com/maven2/</url>
      <mirrorOf>central</mirrorOf>
    </mirror>
  </mirrors>
</settings>

Espelhar repositórios no Gradle

Para configurar um espelhamento, siga as instruções de Como declarar repositórios na documentação do projeto do Gradle.

Entrada build.gradle de exemplo:

  repositories {
      maven {
          url "https://maven-central.storage-download.googleapis.com/maven2/"
      }
  }