使用您認識和喜愛的 Java 工具撰寫程式代碼
身為 Java 開發人員,我們喜歡我們使用的工具。 我們有自己的獨特方式與他們合作,有助於我們專注並保持生產力,就像我們有我們的快捷方式和秘密,讓事情更快、更好。 無論是使用 IntelliJ、Eclipse 或 VS Code 進行程式碼撰寫,還是 JUnit 進行測試,或 Maven 或 Gradle 進行相依性管理和建置自動化,都沒有任何方法可迫使我們拋開慣用的工具並學習新的工具。 這就是為什麼 Azure 讓 Java 開發人員能夠在您慣用的工具和架構和您選擇的作業系統上,將其應用程式帶到雲端。 讓我們進一步瞭解其中一些工具。
IDE - VS Code、IntelliJ 和 Eclipse
理想的 IDE 包含用來編輯原始碼、編譯、本機組建自動化、測試和偵錯的工具,以及用於數據管理、快取、傳訊和事件之後端服務的控件和監視工具。 支援所有這些工作的整合工具組可讓開發人員更具生產力,讓他們避免必須學習並持續切換每個工作的獨立工具。 IntelliJ、Eclipse 和 Visual Studio Code 是熱門的 Java IDE。
Visual Studio Code 上的 Java
Visual Studio Code (VS Code) 是輕量型、無從知的操作系統,可在 Windows、macOS 和 Linux 上執行。 功能強大的 IDE 提供完整的 Java 開發工具組。 它支援任何 Java 開發工具包 (JDK),包括 openJDK、Amazon Corretto、Eclipse Adoptium 和 Oracle Java SE 的Microsoft組建。 VS Code 也會與所有 Java 架構、應用程式伺服器和其他熱門工具整合,包括 Tomcat、Spring Boot、JBoss EAP、WildFly、Quarkus、Open Liberty、Maven 和 Gradle。 它也支援 Java 開發人員經常使用的其他程式設計語言,例如 JavaScript 和 SQL。
VS Code 透過各種適用於 Visual Studio Code 的 Java 擴充功能,支援及簡化 Java 開發工作流程。 只有數百個 Java 擴充功能,您可以從 IDE 本身內搜尋。 我們已將基本 Java 開發的重要延伸模組封裝到適用於 Java 的擴充功能套件中。 此延伸模組套件包含專案管理、Maven 整合、程式代碼編輯、程序代碼完成、程式代碼導覽、重構、linting、格式設定、偵錯、執行和偵錯 JUnit/TestNG 測試案例等延伸模組。 還有一個 Spring Boot 擴充功能套件 ,可用於開發和部署 Spring Boot 應用程式,包括 Spring Initializr 支援。
Azure 工具延伸模組套件是由 Azure 工程小組所建置,提供一組豐富的擴充功能,可探索及與所有 Azure 雲端服務互動,以協助提供 Java 應用程式的電源。 您可以在撰寫、偵錯及測試 Java 應用程式時,使用 VS Code 中的所有延伸模組。 當您準備好部署應用程式時,Azure 工具延伸模組套件支援單鍵部署至 Azure 為執行 Java 應用程式提供的各種計算服務。
Visual Studio Code 中的 Java 提供適用於 Java 開發的最熱門 Visual Studio Code 延伸模組的良好概觀。 它也提供使用 Visual Studio Code 開始使用 Java 開發的指示,以及其可協助讓 Java 開發人員更具生產力的許多方式逐步解說。
在 VS Code 中開始使用 Java 提供簡短的教學課程,涵蓋設定適用於 Java 開發的 VS Code,包括如何撰寫和執行 Hello World 程式。 同樣地,有一些簡短的教學課程會示範如何使用 Visual Studio Code 建置 Java 應用程式,然後使用單鍵部署到服務,例如下列專案:
如果您不熟悉 VS Code 上的 Java,請嘗試其主要命令選擇區中的「Java:初學者秘訣」命令。
Azure Toolkit for IntelliJ
適用於 IntelliJ 的 Azure 工具組可讓 Java 開發人員使用 IntelliJ IDE 建立、開發、測試及部署 Java 應用程式至 Azure。 例如,開發人員可以使用它來完成下列工作:
- 將 Java Web 應用程式部署至 Azure App 服務 中的 Azure App 服務 和自訂容器。
- 將 Java 或 Spring 應用程式或任何 容器化應用程式部署至 Azure Container Apps。
- 將無伺服器應用程式部署至 Azure Functions。
所有這些範例都會使用計算服務在 Azure 上執行 Java,本檔稍後會更詳細地說明這一點。 Spring Cloud Azure 整合是透過 IntelliJ 中的 Spring Initializr 體驗來提供。 只要將適當的 Java 連結庫和驅動程式 (包括 Azure SDK for Java)新增為 Java 專案中的相依性即可。
Microsoft正積極投入時間和資源,為 IntelliJ 提供更多功能,包括雲端原生開發的新體驗,以及與 Azure 服務更深入的整合,包括與 Azure Kubernetes Service 和 Application Insights 的整合。
Azure Toolkit for Eclipse
適用於 Eclipse 的 Azure 工具組可讓 Java 開發人員使用 Eclipse IDE 建立、開發、測試及部署 Java 應用程式至 Azure。 其中包含重要的 Java 連結庫和驅動程式,包括適用於 Java 的 Azure SDK。 開發人員可以使用適用於 Eclipse 的 Azure 工具組,從 Eclipse IDE 完成下列工作:
- 將 Java Web Apps 部署至 App Service 中的 Azure App 服務 和自定義容器。
- 將 Java 或 Spring 應用程式或任何容器化應用程式部署至 Azure Container Apps。
- 使用 Maven 或 Gradle 外掛程式將無伺服器應用程式部署至 Azure Functions。
相依性管理和建置自動化 - Maven、Gradle 和 GitHub
Maven 和 Gradle 是兩種熱門的專案管理、相依性管理,以及建置 Java 應用程式的自動化工具。 這些工具已妥善整合到熱門的 Java IDE 中,透過每個工具的一組外掛程式 Azure 支援 單鍵部署。
適用於 Azure 服務的 Maven 外掛程式
適用於 Azure 服務的 Maven 外掛程式可讓您將 Maven 開發工作流程延伸至 Azure、在本機測試 Java 應用程式,然後在單一步驟中將其部署至 Azure 服務-以整合 Azure 驗證方法和 Azure 角色型 存取控制。 適用於 Azure App 服務 的 Maven 外掛程式可協助您部署 Maven Java Web 應用程式專案,以 Azure App 服務 和 App Service 中的自定義容器。 適用於 Azure Functions 的 Maven 外掛程式可協助您將 Maven 無伺服器 Java 應用程式專案部署至 Azure Functions。
適用於 Azure 服務的 Gradle 外掛程式
適用於 Azure 服務的 Gradle 外掛程式類似於 Maven 的外掛程式。 它們可讓您在單一步驟中將 Java 應用程式部署至 Azure 服務,以整合 Azure 驗證方法和 Azure 角色型 存取控制 的方式。 適用於 Azure App 服務 的 Gradle 外掛程式可協助您將 Gradle Java Web 應用程式專案部署到 App Service 中的 Azure App 服務 和自定義容器,而適用於 Azure Functions 的 Gradle 外掛程式可協助您將 Gradle 無伺服器 Java 應用程式專案部署至 Azure Functions。
GitHub
GitHub 是 Java 應用程式的熱門存放庫,為超過 350 萬個 Java 應用程式提供 DevOps 環境。 使用 適用於 Java 的 GitHub Actions,您可以完成如下的工作:
- 下載並設定要求的 Java 版本。
- 從本機檔案擷取和快取自定義版本的Java。
- 設定執行器以使用 Maven、Gradle 或 GPG 私鑰發佈。
- 註冊錯誤輸出的問題比對器。
- 快取 Maven 或 Gradle 所管理的相依性。
GitHub Actions 可讓您使用世界級的 CI/CD,輕鬆地將所有 Java 軟體工作流程自動化。 您可以從 GitHub 立即建置、測試和部署程式代碼至 Azure。 以您想要的方式進行程式碼檢閱、分支管理和問題分類。 您可以部署到任何 Azure 服務,以執行 Java 應用程式。
GitHub 也支援 Java 的開發容器,您可以透過 GitHub Codespaces 或 VS Code 遠端 - 容器進行存取。
Jenkins 管線
許多在 Azure 上執行 Java 的客戶 Microsoft會使用 Jenkins -- 開放原始碼自動化伺服器 - 來建置、測試及部署其應用程式。 如果您使用 Jenkins,您可以在 Azure DevOps、GitHub 或任何其他 原始程式碼管理系統 中管理原始程式碼,同時繼續將 Jenkins 用於 CI/CD 組建 ,例如, 當您將程式代碼推送至專案的 Git 存放庫時觸發 Jenkins 組建。
Azure Pipelines
Azure Pipelines 是 Azure DevOps 服務的一部分,可讓您持續建置、測試及部署 Java 應用程式至任何平台和雲端。 它可搭配 GitHub (或 Azure Repos) 進行原始檔控制,讓您 能夠使用 Maven 或 Gradle 進行建置,然後部署到任何執行 Java 應用程式的 Azure 服務。
Azure 命令行介面
Azure 命令列介面 (CLI) 是跨平臺命令行工具,可用來建立、連線及管理 Azure 資源,包括透過命令行提示或腳本執行終端機命令。 您可以在 Linux、macOS 或 Windows 電腦上本機安裝 Azure CLI、從容器內執行,或透過 Azure Cloud Shell 從瀏覽器存取 Azure CLI。
下列範例示範如何使用 Azure CLI 將 JAR 或 WAR 檔案部署至 Azure Container Apps:
az containerapp up \
--name <CONTAINER_APP_NAME> \
--resource-group <RESOURCE_GROUP> \
--subscription <SUBSCRIPTION_ID> \
--location <LOCATION> \
--environment <ENVIRONMENT_NAME> \
--artifact <JAR_FILE_PATH_AND_NAME> \
--ingress external \
--target-port 8080 \
--query properties.configuration.ingress.fqdn
摘要
當您搭配 Azure 使用 Java 時,可以選擇自己的工具。 您可以使用您選擇的計算機來建置測試、偵錯及疑難解答任何 Java 應用程式(包括 polyglot 應用程式),包括 Windows、macOS、Linux 和雲端式機器。 您也可以在任何應用程式伺服器或任何內嵌的應用程式伺服器上,將應用程式部署至 Azure。