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에서 '잘못된 리플렉션 액세스' 경고가 표시되지 않도록 억제합니다.

Maven 자체에서 프로젝트 종속 항목을 관리하려면 Maven 래퍼를 사용할 수 있습니다. Maven 래퍼를 사용하지 않는 경우 빌드팩에는 pack build를 실행할 때 기본적으로 Maven의 최신 버전이 사용됩니다.

Gradle 구성

GRADLE_OPTS 환경 변수를 사용하여 Gradle 구성을 적용할 수 있습니다. 자세한 안내는 문서를 참조하세요.

예시:

GRADLE_OPTS=-Xms256m -Xmx512m은 이러한 플래그를 Maven을 실행하는 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/"
      }
  }