設定 Java 開發環境

本教學課程說明如何準備本機電腦以進行 Java 開發工作,包括開發在Google Cloud上執行的 Java 應用程式。請按照下列步驟安裝 Java 和相關工具。

目標

  • 安裝 JDK (Java Development Kit)。
  • 安裝自動化建置工具。
  • 安裝 gcloud CLI。
  • (選用) 安裝 IDE 或編輯器。
  • (選用) 安裝 IDE Google Cloud 外掛程式。
  • 安裝 Java 適用的 Cloud 用戶端程式庫。
  • 設定驗證方法。

安裝 JDK (Java 開發套件)

您可以選擇任何 Java 發行版本,但請務必設定下列環境變數:

  • JAVA_HOME:指向 JDK 安裝的基礎位置。
  • PATH:包含 $JAVA_HOME/bin

建議您使用 Eclipse Temurin,這是搭配Google Cloud使用的 OpenJDK (Java 開發套件) 發行版本。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_HOMEPath 變數:
    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 MavenGradleSBT 等套件管理選項可協助您在不同平台上,快速且一致地建構 Java 應用程式依附元件。

安裝 gcloud CLI

gcloud CLI 是一組適用於 Google Cloud的工具,包括 gcloudbq。您可以從指令列執行這些指令,以存取 Compute Engine、Cloud Storage、BigQuery 和其他產品與服務。您可以利用這些工具進行互動操作,也可以使用自動化指令碼執行這些工具。

(選用) 安裝 IDE 或編輯器

用來開發 Java 應用程式的熱門編輯器包括但不限於下列項目 (排序不分先後):

這些編輯器 (有些需安裝外掛程式) 提供各種功能,範圍從語法反白顯示、智慧感知、程式碼自動完成到全面整合的偵錯功能。

(選用) 安裝 IDE 外掛程式

如要存取編輯器中的實用功能,請查看下列外掛程式:

安裝 Java 適用的 Cloud 用戶端程式庫

您可以使用 Java 適用的 Cloud 用戶端程式庫整合多項服務,例如 Datastore 和 Cloud Storage。 Google Cloud您也可以為 BigQuery 等個別的 API 安裝套件,如同下列範例所示。

如果您使用 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),請確認您已 使用聯合身分登入 gcloud CLI

詳情請參閱「進行驗證以使用用戶端程式庫」一文。

使用用戶端程式庫

// 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();
 }

後續步驟

(選用) 使用 App Engine 適用的 Maven 或 Gradle 外掛程式

如果您是在 App Engine 標準或彈性環境中進行開發作業,則可以透過 Apache Maven 和 Gradle 建置工具均適用的外掛程式,使用其提供的便利功能來開發、測試及部署應用程式。

App Engine 標準環境

使用 App Engine 標準環境適用的 Maven App Engine 外掛程式Gradle 外掛程式

App Engine 彈性環境

使用 App Engine 彈性環境適用的 Maven App Engine 外掛程式Gradle 外掛程式

其他資源