建構 Java 應用程式

指定 Java 版本

根據預設,系統會使用最新版的 Java 11。如果應用程式需要特定版本,您可以使用 GOOGLE_RUNTIME_VERSION 環境變數指定 JDK 版本:

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

您也可以使用 project.toml 專案描述元,為專案檔案和環境變數編碼。請參閱使用環境變數建構應用程式的操作說明。

管理依附關係

使用 Maven 或 Gradle 的專案支援相依項目設定。

設定 Maven

您可以使用 MAVEN_OPTS 環境變數套用 Maven 設定。如需其他操作說明,請參閱說明文件

範例:

  • MAVEN_OPTS=-Xms256m -Xmx512m 會將這些標記傳遞至執行 Maven 的 JVM。
  • MAVEN_OPTS=--add-opens java.base/java.lang=ALL-UNNAMED 來抑制 Maven 的「illegal reflective access」警告。

如要管理專案對 Maven 的依附元件,您可以使用 Maven 包裝函式。如果您未使用 Maven 包裝函式,則建構包會預設使用較新的 Maven 版本來執行 pack build

設定 Gradle

您可以使用 GRADLE_OPTS 環境變數套用 Gradle 設定。如需其他操作說明,請參閱說明文件

範例:

GRADLE_OPTS=-Xms256m -Xmx512m 會將這些標記傳遞至執行 Gradle 的 JVM。

Google Cloud 代管的 Maven Central 鏡像

您可以指定可用的網址,使用 Maven Central 的代管鏡像。

在 Maven 中鏡射存放區

如要設定鏡像,請按照 Maven 專案文件中的使用存放區鏡像操作說明進行。

~/.m2/settings.xml 的預設位置建立 settings.xml 的副本,並將副本放入應用程式來源目錄中,然後指定 GOOGLE_BUILD_ARGS=--settings <path/to/settings>

注意: 是相對於來源目錄。

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>

在 Gradle 中鏡射存放區

如要設定鏡像,請按照 Gradle 專案文件中的宣告存放區操作說明進行。

範例 build.gradle 項目:

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