本教學課程說明如何準備本機電腦以進行 Java 開發工作,包括開發在Cloud de Confiance by S3NS上執行的 Java 應用程式。請按照下列步驟安裝 Java 和相關工具。
目標
- 安裝 JDK (Java Development Kit)。
- 安裝自動化建置工具。
- 安裝 gcloud CLI。
- (選用) 安裝 IDE 或編輯器。
- (選用) 安裝 IDE Cloud de Confiance by S3NS 外掛程式。
- 安裝 Java 適用的 Cloud 用戶端程式庫。
- 設定驗證方法。
安裝 JDK (Java 開發套件)
您可以選擇任何 Java 發行版本,但請務必設定下列環境變數:
- JAVA_HOME:指向 JDK 安裝的基礎位置。
- PATH:包含
$JAVA_HOME/bin。
建議您使用 Eclipse Temurin,這是搭配Cloud de Confiance by S3NS使用的 OpenJDK (Java Development Kit) 發行版本。Temurin 採用開放原始碼授權,並通過 Java SE TCK 認證,且經過測試,可確保生產品質的效能和安全性。
(建議) 安裝 Temurin
Temurin 的安裝方式會因作業系統而異。
- 二進位檔可供下載。
- 如果是 Docker 容器,請使用官方「eclipse-temurin」映像檔。
如果您使用 Compute Engine 開機映像檔,可以使用下列安裝指令碼。
CentOS/RHEL/Rocky
- 判斷 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
- 建立 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
- 更新套件清單:
sudo yum update -y
- 安裝 Temurin:
sudo yum install -y temurin-17-jdk
- 驗證安裝狀態:
java -version
Debian/Ubuntu
- 安裝公開存放區 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
- 判斷 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
- 更新套件清單:
sudo apt update -y
- 安裝 Temurin:
sudo apt install -y temurin-17-jdk
- 驗證安裝狀態:
java -version
SLES
- 判斷 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
- 安裝公開存放區 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
- 判斷 SLES 版本,並註冊 Adoptium 存放區:
sudo zypper ar -f "https://packages.adoptium.net/artifactory/rpm/sles/$MAJOR_VERSION/$(uname -m)" adoptium
- 更新套件清單:
sudo zypper update -y
- 安裝 Temurin:
sudo zypper install -y temurin-17-jdk
- 驗證安裝狀態:
java -version
安裝自動化建置工具
Apache Maven、Gradle 和 SBT 等套件管理選項可協助您在不同平台上,快速且一致地建構 Java 應用程式依附元件。
安裝 gcloud CLI
gcloud CLI 是一組適用於 Cloud de Confiance的工具,包括 gcloud 和 bq。您可以從指令列執行這些指令,以存取 Compute Engine、Cloud Storage、BigQuery 和其他產品與服務。您可以利用這些工具進行互動操作,也可以使用自動化指令碼執行這些工具。
(選用) 安裝 IDE 或編輯器
用來開發 Java 應用程式的熱門編輯器包括但不限於下列項目 (排序不分先後):
- Visual Studio Code
- JetBrains 的 IntelliJ IDEA 和/或 Webstorm
- Eclipse Foundation 的 Eclipse
- GitHub 的 Atom
這些編輯器 (有些需安裝外掛程式) 提供各種功能,範圍從語法反白顯示、智慧感知、程式碼自動完成到全面整合的偵錯功能。
安裝 Java 適用的 Cloud 用戶端程式庫
您可以使用 Java 適用的 Cloud 用戶端程式庫整合多項服務,例如 Datastore 和 Cloud Storage。 Cloud de Confiance您也可以為 BigQuery 等個別的 API 安裝套件,如同下列範例所示。
如果您使用 Maven,請將下列指令新增到 pom.xml 檔案中。如要進一步瞭解 BOM,請參閱 Google Cloud Platform 程式庫 BOM。
如果您使用 Gradle,請將下列指令新增到依附元件中:
如果您使用 sbt,請在依附元件中加入以下指令:
如果您使用 Visual Studio Code 或 IntelliJ,可以利用下列 IDE 外掛程式,將用戶端程式庫新增到專案中:
這些外掛程式會提供其他功能,例如服務帳戶的金鑰管理功能。詳情請參閱各外掛程式的說明文件。
設定驗證方法
如要執行用戶端程式庫,您必須先設定驗證。
為使用者帳戶建立本機驗證憑證:
gcloud auth application-default login
如果系統傳回驗證錯誤,且您使用外部識別資訊提供者 (IdP),請確認您已 使用聯合身分登入 gcloud CLI。
詳情請參閱「進行驗證以使用用戶端程式庫」一文。
使用用戶端程式庫
設定用戶端程式庫的端點
如果您使用支援區域端點的 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();
}