Membangun aplikasi Java

Menentukan versi Java

Secara default, versi terbaru Java 11 digunakan. Jika aplikasi Anda memerlukan versi tertentu, Anda dapat menggunakan variabel lingkungan GOOGLE_RUNTIME_VERSION untuk menentukan versi JDK:

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

Anda juga dapat menggunakan deskriptor project project.toml untuk mengenkode variabel lingkungan bersama file project Anda. Lihat petunjuk cara membangun aplikasi dengan variabel lingkungan.

Mengelola dependensi

Konfigurasi dependensi didukung untuk project yang menggunakan Maven atau Gradle.

Mengonfigurasi Maven

Konfigurasi Maven dapat diterapkan menggunakan variabel lingkungan MAVEN_OPTS. Lihat dokumentasi untuk petunjuk tambahan.

Contoh:

  • MAVEN_OPTS=-Xms256m -Xmx512m akan meneruskan flag ini ke JVM yang menjalankan Maven.
  • MAVEN_OPTS=--add-opens java.base/java.lang=ALL-UNNAMED untuk menyembunyikan peringatan "illegal reflective access" dari Maven.

Untuk mengelola dependensi project di Maven itu sendiri, Anda dapat menggunakan Maven Wrapper. Jika Anda tidak menggunakan Maven Wrapper, buildpack secara default akan menggunakan Maven versi terbaru saat menjalankan pack build.

Mengonfigurasi Gradle

Konfigurasi Gradle dapat diterapkan menggunakan variabel lingkungan GRADLE_OPTS. Lihat dokumentasi untuk mengetahui petunjuk tambahan.

Contoh:

GRADLE_OPTS=-Xms256m -Xmx512m meneruskan flag ini ke JVM yang menjalankan Gradle.

Duplikasi Maven Central yang dihosting di Google Cloud

Anda dapat menggunakan duplikasi yang dihosting dari Maven Central dengan menentukan URL yang tersedia.

Duplikat repositori di Maven

Untuk mengonfigurasi duplikat, ikuti petunjuk Using Mirrors for Repositories dalam dokumentasi project Maven.

Buat salinan settings.xml dari lokasi default ~/.m2/settings.xml ke dalam direktori sumber aplikasi Anda dan tentukan GOOGLE_BUILD_ARGS=--settings <path/to/settings>.

Catatan: bersifat relatif terhadap direktori sumber.

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

Duplikat repositori di Gradle

Untuk mengonfigurasi duplikasi, ikuti petunjuk Mendeklarasikan Repositori dalam dokumentasi project Gradle.

Contoh entri build.gradle:

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