הגדרת סביבת פיתוח ב-Java

במדריך הזה מוסבר איך להכין את המחשב המקומי לפיתוח ב-Java, כולל פיתוח אפליקציות Java שפועלות ב-Google Cloud. כדי להתקין את Java ואת הכלים הרלוונטיים, פועלים לפי השלבים הבאים.

מטרות

  • מתקינים JDK (ערכת פיתוח Java).
  • מתקינים כלי לאוטומציה של בניית אפליקציות.
  • מתקינים את ה-CLI של gcloud.
  • (אופציונלי) מתקינים IDE או עורך.
  • (אופציונלי) מתקינים פלאגין של IDE Google Cloud .
  • מתקינים את ספריות הלקוח של Cloud לשימוש ב-Java.
  • מגדירים אימות.

התקנה של JDK ‏ (Java Development Kit)

אתם יכולים לבחור כל הפצת Java שתרצו, בתנאי שמשתני הסביבה הבאים מוגדרים:

  • ‫JAVA_HOME: מצביע על בסיס ההתקנה של JDK.
  • PATH: כולל $JAVA_HOME/bin.

Eclipse Temurin היא הפצת OpenJDK (ערכת כלים לפיתוח Java) המומלצת לשימוש עםGoogle Cloud. ‫Temurin הוא קוד פתוח עם רישיון, הוא מאושר על ידי Java SE TCK ונבדק כדי לוודא שהוא מספק ביצועים ואבטחה באיכות של סביבת ייצור.

הוראות ההתקנה של Temurin משתנות בהתאם למערכת ההפעלה.

אם אתם משתמשים בתמונות אתחול של Compute Engine, אתם יכולים להשתמש בסקריפטים הבאים להתקנה.

‫CentOS/RHEL/Rocky

  1. קובעים את הגרסה הראשית של CentOS/RHEL/Rocky Linux:
    eval "$(grep VERSION_ID /etc/os-release)"
    eval "$(grep ^ID= /etc/os-release)"
    OLD_IFS=$IFS
    IFS='.'
    read -ra split_version <<< "$VERSION_ID"
    IFS=$OLD_IFS
    MAJOR_VERSION=$split_version
  2. יוצרים את קובץ מאגר המקור של Adoptium, ‏ ‎`/etc/yum.repos.d/adoptium.repo`‎:
    sudo tee /etc/yum.repos.d/adoptium.repo << EOM
    [Adoptium]
    name=Adoptium
    baseurl=https://packages.adoptium.net/artifactory/rpm/$ID/$MAJOR_VERSION/\$basearch
    enabled=1
    gpgcheck=1
    gpgkey=https://packages.adoptium.net/artifactory/api/gpg/key/public
    EOM
  3. מעדכנים את רשימות החבילות:
    sudo yum update -y
  4. מתקינים את Temurin:
    sudo yum install -y temurin-17-jdk
  5. אימות ההתקנה:
    java -version

‫Debian/Ubuntu

  1. מתקינים את מפתח ה-GPG של המאגר הציבורי. אם אתם משתמשים ב-Ubuntu 16.4, צריך להעביר את המפתח דרך gpg --dearmor לפני ששומרים אותו בקובץ. (לדוגמה: sudo wget ... | gpg --dearmor | sudo tee ...)
    sudo mkdir -p /etc/apt/keyrings
    sudo wget -O - https://packages.adoptium.net/artifactory/api/gpg/key/public |
      sudo tee /etc/apt/keyrings/adoptium.asc
  2. קובעים את השם של הפצת Linux ויוצרים את קובץ רשימת המקורות, /etc/apt/sources.list.d/adoptium.list:
    eval "$(grep VERSION_CODENAME /etc/os-release)"
    sudo tee /etc/apt/sources.list.d/adoptium.list << EOM
    deb [signed-by=/etc/apt/keyrings/adoptium.asc] https://packages.adoptium.net/artifactory/deb $VERSION_CODENAME main
    EOM
  3. מעדכנים את רשימות החבילות:
    sudo apt update -y
  4. מתקינים את Temurin:
    sudo apt install -y temurin-17-jdk
  5. אימות ההתקנה:
    java -version

SLES

  1. קובעים את הגרסה הראשית של SLES:
    eval "$(grep VERSION_ID /etc/os-release)"
    OLD_IFS=$IFS
    IFS='.'
    read -ra split_version <<< "$VERSION_ID"
    IFS=$OLD_IFS
    MAJOR_VERSION=$split_version
  2. מתקינים את מפתח ה-GPG של המאגר הציבורי:
    sudo mkdir -p /etc/zypp/keyrings
    sudo wget -O - https://packages.adoptium.net/artifactory/api/gpg/key/public |
      sudo tee /etc/zypp/keyrings/adoptium.asc
    sudo rpm --import /etc/zypp/keyrings/adoptium.asc
  3. קובעים את הגרסה של SLES ורושמים את מאגר Adoptium:
    sudo zypper ar -f "https://packages.adoptium.net/artifactory/rpm/sles/$MAJOR_VERSION/$(uname -m)" adoptium
  4. מעדכנים את רשימות החבילות:
    sudo zypper update -y
  5. מתקינים את Temurin:
    sudo zypper install -y temurin-17-jdk
  6. אימות ההתקנה:
    java -version

Windows

כדי להתקין את Temurin, מריצים את PowerShell בגרסה 3.0 ומעלה כאדמין באמצעות הפקודות הבאות.

  1. מורידים את Temurin. הפקודה Invoke-WebRequest שמופיעה בהוראות שלמטה דורשת PowerShell בגרסה 3.0 ומעלה.
    $JdkVersion = 17
    $JdkUrl = "https://api.adoptium.net/v3/binary/latest/$JdkVersion/ga/windows/x64/jdk/hotspot/normal/eclipse?project=jdk"
    $JdkExtractionPath = "C:\temurin-$JdkVersion-jdk"
    $JdkDownload = "$JdkExtractionPath.zip"
    [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.SecurityProtocolType]'Tls12'
    Invoke-WebRequest -Uri $JdkUrl -OutFile $JdkDownload
    Expand-Archive $JdkDownload -DestinationPath $JdkExtractionPath -Force
  2. מגדירים את המשתנים JAVA_HOME ו-Path:
    pushd $JdkExtractionPath
    $JdkPath = (Get-ChildItem).FullName
    popd
    [System.Environment]::SetEnvironmentVariable('JAVA_HOME', $JdkPath, 'Machine')
    
          
  3. (Optional) Refresh your session's `$env:Path` value. Otherwise, start a new session:
    $MachinePath = [System.Environment]::GetEnvironmentVariable('Path', 'Machine')
    $UserPath = [System.Environment]::GetEnvironmentVariable('Path', 'User')
    $env:Path = "$MachinePath;$UserPath"
  4. אימות ההתקנה:
    java -version

התקנה של כלי אוטומציה לבנייה

Apache Maven,‏ Gradle ו-SBT הן אפשרויות לניהול חבילות שיכולות לעזור ליצור תלויות באפליקציות Java במהירות ובעקביות בפלטפורמות שונות.

התקנת ה-CLI של gcloud

ה-CLI של gcloud הוא קבוצת כלים ל- Google Cloud. הוא מכיל את gcloud ואת bq, שבהם אפשר להשתמש כדי לגשת ל-Compute Engine, ל-Cloud Storage, ל-BigQuery ולמוצרים ושירותים אחרים משורת הפקודה. אפשר להפעיל את הכלים האלה באופן אינטראקטיבי או בסקריפטים אוטומטיים.

(אופציונלי) מתקינים IDE או עורך

דוגמאות לעורכים פופולריים (ללא סדר מסוים) שמשמשים לפיתוח אפליקציות Java:

העורכים האלה (לפעמים בעזרת תוספים) מספקים לכם את כל מה שאתם צריכים, החל מהדגשת תחביר, חיזוי והשלמת קוד ועד ליכולות ניפוי באגים משולבות לחלוטין.

(אופציונלי) התקנת פלאגין של IDE

כדי לגשת לפונקציות שימושיות בתוך כלי העריכה, כדאי לנסות את הפלאגינים הבאים:

התקנת ספריות לקוח של Cloud ל-Java

להשתמש בספריות הלקוח של Cloud ל-Java כדי לבצע אינטגרציה עם שירותים כמו Datastore ו-Cloud Storage. Google Cloudאפשר להתקין את החבילה עבור API ספציפי, כמו BigQuery, כמו שמוצג בדוגמה הבאה.

אם משתמשים ב-Maven, צריך להוסיף את הקוד הבא לקובץ pom.xml. במאמר העוסק בספריות BOM ל-Google Cloud Platform תוכלו לקרוא מידע נוסף על עצי מוצרים (BOM).

<!--  Using libraries-bom to manage versions.
See https://github.com/GoogleCloudPlatform/cloud-opensource-java/wiki/The-Google-Cloud-Platform-Libraries-BOM -->
<dependencyManagement>
  <dependencies>
    <dependency>
      <groupId>com.google.cloud</groupId>
      <artifactId>libraries-bom</artifactId>
      <version>26.62.0</version>
      <type>pom</type>
      <scope>import</scope>
    </dependency>
  </dependencies>
</dependencyManagement>

<dependencies>
  <dependency>
    <groupId>com.google.cloud</groupId>
    <artifactId>google-cloud-bigquery</artifactId>
  </dependency>
</dependencies>

אם משתמשים ב-Gradle, צריך להוסיף את הקוד הבא ליחסי התלות:

implementation platform('com.google.cloud:libraries-bom:26.45.0')

implementation 'com.google.cloud:google-cloud-bigquery'

אם משתמשים ב-sbt, צריך להוסיף את הקוד הבא ליחסי התלות:

libraryDependencies += "com.google.cloud" % "google-cloud-bigquery" % "2.42.2"

אם משתמשים ב-Visual Studio Code או ב-IntelliJ, אפשר להוסיף את ספריות הלקוח לפרויקט באמצעות יישומי הפלאגין הבאים של IDE:

באמצעות יישומי הפלאגין תוכלו להשתמש בפונקציות נוספות, כמו ניהול מפתחות לחשבונות שירות. לפרטים נוספים, קראו את מאמרי העזרה של כל אחד מיישומי הפלאגין.

מגדירים אימות

כדי להריץ את ספריית הלקוח, קודם צריך להגדיר אימות.

אם אתם משתמשים במעטפת מקומית, אתם צריכים ליצור פרטי כניסה לאימות מקומי עבור חשבון המשתמש:

gcloud auth application-default login

אם אתם משתמשים ב-Cloud Shell, אין צורך לבצע את הפעולה הזו.

אם מוחזרת שגיאת אימות ואתם משתמשים בספק זהויות חיצוני (IdP), ודאו ש נכנסתם ל-CLI של gcloud באמצעות המאגר המאוחד לניהול זהויות.

מידע נוסף זמין במאמר אימות לצורך שימוש בספריות לקוח.

שימוש בספריית הלקוח

// Imports the Google Cloud client library
import com.google.cloud.bigquery.BigQuery;
import com.google.cloud.bigquery.BigQueryOptions;
import com.google.cloud.bigquery.Dataset;
import com.google.cloud.bigquery.DatasetInfo;

public class QuickstartSample {
  public static void main(String... args) throws Exception {
    // Instantiate a client. If you don't specify credentials when constructing a client, the
    // client library will look for credentials in the environment, such as the
    // GOOGLE_APPLICATION_CREDENTIALS environment variable.
    BigQuery bigquery = BigQueryOptions.getDefaultInstance().getService();

    // The name for the new dataset
    String datasetName = "my_new_dataset";

    // Prepares a new dataset
    Dataset dataset = null;
    DatasetInfo datasetInfo = DatasetInfo.newBuilder(datasetName).build();

    // Creates the dataset
    dataset = bigquery.create(datasetInfo);

    System.out.printf("Dataset %s created.%n", dataset.getDatasetId().getDataset());
  }
}

הגדרת נקודות קצה לספריית הלקוח

אם אתם משתמשים בממשקי API שתומכים בנקודות קצה אזוריות, אתם יכולים להשתמש בנקודות קצה כדי להגדיר לאיזה שרת לשלוח בקשות. לדוגמה, באמצעות Google.Cloud.Dataproc.V1 API, אפשר להגדיר נקודת קצה של לקוח. מידע נוסף על נקודות קצה אזוריות ל-Dataproc בדוגמה הבאה, חשוב להחליף את MY-PROJECT בשם הפרויקט ואת us-central1 באזור שמתאים להגדרה שלכם:

ClusterControllerSettings settings =
     ClusterControllerSettings.newBuilder()
        .setEndpoint("us-central1-dataproc.googleapis.com:443")
        .build();
 try (ClusterControllerClient clusterControllerClient = ClusterControllerClient.create(settings)) {
   String projectId = "MY-PROJECT";
   String region = "us-central1";
   Cluster cluster = Cluster.newBuilder().build();
 }

המאמרים הבאים

(אופציונלי) שימוש בתוסף Maven או Gradle ל-App Engine

אם אתם מפתחים בסביבה הרגילה או הגמישה של App Engine, אתם יכולים להשתמש בתוספים לכלי הבנייה Apache Maven ו-Gradle, שמספקים פונקציות נוחות לפיתוח, לבדיקה ולפריסה של האפליקציות שלכם ישירות.

לסביבות רגילות של App Engine

משתמשים ב-Maven App Engine plugin או ב-Gradle plugin לסביבות רגילות של App Engine.

בסביבות גמישות של App Engine

אפשר להשתמש בMaven App Engine plugin או ב-Gradle plugin לסביבות גמישות של App Engine.

יותר משאבים