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 構成は、MAVEN_OPTS 環境変数を使用して適用できます。詳細な手順については、ドキュメントをご覧ください。

例:

  • MAVEN_OPTS=-Xms256m -Xmx512m は、Maven を実行している JVM にこれらのフラグを渡します。
  • MAVEN_OPTS=--add-opens java.base/java.lang=ALL-UNNAMED は、Maven からの「不正なリフレクション アクセス」警告を抑制します。

プロジェクトの Maven 自体への依存関係を管理するには、Maven ラッパーを使用します。Maven ラッパーを使用しない場合、Buildpack はデフォルトで pack build の実行時に最新バージョンの Maven を使用します。

Gradle を構成する

Gradle 構成は、GRADLE_OPTS 環境変数を使用して適用できます。詳細な手順については、ドキュメントをご覧ください。

例:

GRADLE_OPTS=-Xms256m -Xmx512m は、Gradle を実行している JVM にこれらのフラグを渡します。

Google Cloud でホストされる Maven Central ミラー

使用可能な URL を指定することで、ホストされた 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/"
      }
  }