Crear una aplicación Java

Especificar una versión de Java

De forma predeterminada, se usa la versión más reciente de Java 11. Si tu aplicación requiere una versión específica, puedes usar la variable de entorno GOOGLE_RUNTIME_VERSION para especificar una versión de JDK:

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

También puedes usar un descriptor de proyecto project.toml para codificar la variable de entorno junto con los archivos de tu proyecto. Consulta las instrucciones para compilar la aplicación con variables de entorno.

Gestionar dependencias

La configuración de dependencias se admite en proyectos que usan Maven o Gradle.

Configurar Maven

Las configuraciones de Maven se pueden aplicar mediante la variable de entorno MAVEN_OPTS. Consulta la documentación para obtener más instrucciones.

Ejemplos:

  • MAVEN_OPTS=-Xms256m -Xmx512m pasa estas marcas a la JVM que ejecuta Maven.
  • MAVEN_OPTS=--add-opens java.base/java.lang=ALL-UNNAMED para suprimir las advertencias de "acceso reflexivo ilegal" de Maven.

Para gestionar la dependencia de tu proyecto en Maven, puedes usar Maven Wrapper. Si no usas Maven Wrapper, los buildpacks usarán de forma predeterminada una versión reciente de Maven al ejecutar pack build.

Configurar Gradle

Las configuraciones de Gradle se pueden aplicar mediante la variable de entorno GRADLE_OPTS. Consulta la documentación para obtener más instrucciones.

Ejemplo:

GRADLE_OPTS=-Xms256m -Xmx512m pasa estas marcas a la JVM que ejecuta Gradle.

Google Cloud mirror de Maven Central alojado

Puedes usar el mirror alojado de Maven Central especificando las URLs disponibles.

Replicar repositorios en Maven

Para configurar una réplica, sigue las instrucciones de la sección Using Mirrors for Repositories (Usar réplicas para repositorios) de la documentación del proyecto Maven.

Crea una copia de settings.xml desde la ubicación predeterminada de ~/.m2/settings.xml hasta el directorio de origen de tu aplicación y especifica GOOGLE_BUILD_ARGS=--settings <path/to/settings>.

Nota: es relativo al directorio de origen.

Archivo settings.xml de ejemplo:

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

Replicar repositorios en Gradle

Para configurar un mirror, sigue las instrucciones de Declarar repositorios en la documentación del proyecto de Gradle.

Entrada de build.gradle de ejemplo:

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