Compila una aplicación de Java

Especifica 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 proyectos 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.

Administra dependencias

La configuración de dependencias es compatible con proyectos que usan Maven o Gradle.

Configura Maven

La configuración de Maven se puede aplicar con la variable de entorno MAVEN_OPTS. Consulta la documentación para obtener instrucciones adicionales.

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 administrar la dependencia de tu proyecto en Maven, puedes usar el Wrapper de Maven. Si no usas el wrapper de Maven, los paquetes de compilación usan de forma predeterminada una versión reciente de Maven cuando ejecutas pack build.

Configura Gradle

Las configuraciones de Gradle se pueden aplicar con la variable de entorno GRADLE_OPTS. Consulta la documentación para obtener instrucciones adicionales.

Ejemplo:

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

Duplicación de Maven Central alojada en Google Cloud

Puedes usar la duplicación alojada de Maven Central si especificas las URLs disponibles.

Duplica repositorios en Maven

Para configurar una duplicación, sigue las instrucciones sobre cómo usar duplicación para repositorios en la documentación del proyecto de Maven.

Crea una copia de settings.xml desde la ubicación predeterminada de ~/.m2/settings.xml dentro del directorio del código fuente de tu aplicación y especifica GOOGLE_BUILD_ARGS=--settings <path/to/settings>.

Nota: es relativo al directorio del código fuente.

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>

Duplica repositorios en Gradle

Para configurar una duplicación, sigue las instrucciones sobre cómo 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/"
      }
  }