פיתוח אפליקציה ב-Java

ציון הגרסה של 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/"
      }
  }