ציון הגרסה של Java
כברירת מחדל, ב-buildpack נעשה שימוש בגרסה העדכנית ביותר של Java שנתמכת, אלא אם מציינים גרסה אחרת. אם באפליקציה שלכם דרושה גרסה ספציפית, תוכלו לציין אותה על ידי הוספת משתנה הסביבה GOOGLE_RUNTIME_VERSION לגרסת JDK:
pack build sample-java --builder=gcr.io/buildpacks/builder \
--env GOOGLE_RUNTIME_VERSION=21
אתם גם יכולים להשתמש במתאר של פרויקט project.toml כדי לקודד את משתנה הסביבה לצד קובצי הפרויקט. במאמר פיתוח אפליקציות באמצעות משתני סביבה מפורטות ההוראות.
ניהול יחסי התלות
הגדרת יחסי התלות נתמכת בפרויקטים שבהם משתמשים ב-Maven או ב-Gradle.
הגדרת Maven
אפשר להשתמש בהגדרות של Maven באמצעות משתנה הסביבה MAVEN_OPTS.
רוצים לדעת איך?
למשל:
- הדגלים האלה מועברים על ידי
MAVEN_OPTS=-Xms256m -Xmx512mל-JVM עם Maven. MAVEN_OPTS=--add-opens java.base/java.lang=ALL-UNNAMEDכדי לעקוף אזהרות מ-Maven בנוגע לגישה לא חוקית (illegal reflective access).
כדי לנהל את התלות של הפרויקט ב-Maven, תוכלו להשתמש ב-Maven Wrapper. אם אתם לא משתמשים ב-Maven Wrapper, כברירת מחדל ב-buildpack נעשה שימוש בגרסה האחרונה של Maven בהרצה של pack build.
הגדרת Gradle
אפשר להשתמש בהגדרות של Gradle באמצעות משתנה הסביבה GRADLE_OPTS. רוצים לדעת איך?
דוגמה:
הדגלים האלה מועברים על ידי GRADLE_OPTS=-Xms256m -Xmx512m ל-JVM עם Gradle.
Google Cloud רפליקציה של Maven Central שמתארחת ב-Google Cloud
תוכלו לציין את כתובות ה-URL הזמינות כדי להשתמש ברפליקציה של Maven Central.
רפליקציות למאגרים ב-Maven
במאמר שימוש ברפליקציות למאגרים, בחומרי העזר של הפרויקט Maven, מוסבר איך להגדיר רפליקציות.
יוצרים עותק של settings.xml ממיקום ברירת המחדל ~/.m2/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/"
}
}