使用 Java
ServBay 為 Java 開發者在 macOS 上打造了一個靈活且強大的開發環境。透過 ServBay 的套件管理系統,您可以輕鬆安裝、管理與運行多個 OpenJDK 版本,並運用專案級設定檔 .servbay.config
,為不同專案指定特定的 Java 版本,滿足各式開發需求。
概述
Java 語言簡介
Java 是一門經典且廣泛使用的物件導向程式語言,最初由 Sun Microsystems(現已被 Oracle 收購)的 James Gosling 等人在 1995 年發表。其核心理念為「一次撰寫,到處執行」(Write Once, Run Anywhere, WORA),這要歸功於 Java 虛擬機(Java Virtual Machine, JVM),使得編譯後的 Java 位元組碼能在任何安裝有相應 JVM 的平台上執行。
Java 以跨平台特性、強大的生態系、生動的記憶體管理(自動垃圾回收)、豐富的類別庫以及優異的多執行緒支援而著稱。它廣泛應用於企業級應用程式開發、大型網站後端、Android 行動應用開發、大數據處理(如 Hadoop 生態系)、金融服務、科學運算等領域。OpenJDK 是 Java SE(Standard Edition)的官方開源參考實作,也是 ServBay 主要提供的 Java 版本。
ServBay 對 Java 的支援
ServBay 將不同的 OpenJDK 版本作為獨立套件來管理,為您帶來諸多便利:
- 並行安裝: 可同時安裝多種 OpenJDK 版本(如 OpenJDK 8, 11, 17, 21 等)。
- 專案級版本控管: 透過 ServBay 獨有的
.servbay.config
檔案,為每個專案精確指定所需的 Java 版本。 - 簡易管理: 以 ServBay 圖形介面輕鬆瀏覽、安裝與解除安裝各個 JDK 版本。
- 整合建構工具: 支援安裝常用 Java 建構工具,如 Apache Maven。
這對於需維護舊版 Java 專案、開發新專案或運行特殊 Java 工具鏈的開發者而言,極為便利。
存取 Java 套件
- 開啟 ServBay 應用程式。
- 在左側導覽列點擊
套件 (Packages)
。 - 於
套件
頁面中,向下捲動或在左側細項清單選擇Languages
->Java
。 - 右側會顯示所有可用的 OpenJDK 套件列表,以及相關建構工具(如 Apache Maven 可能出現在 Common Services 或 Tools 分類下)。
安裝 OpenJDK
套件列表會清楚顯示每一個 OpenJDK 版本的狀態:
- 套件名稱 (Package Name): 例如
OpenJDK 11
。 - 版本 (Version): 具體的套件版本號。
- 狀態 (Status): 顯示
Installed
(已安裝)或Not Installed
(未安裝)。 - 控制 (Control): 操作按鈕。
若要安裝尚未安裝的某一 OpenJDK 版本(例如 OpenJDK 17
):
- 在列表中選擇目標版本。
- 確認其狀態為
Not Installed
。 - 點擊該行最右側的 下載/安裝 (Download/Install) 圖示(通常是一個向下的箭頭)。
- ServBay 將開始下載並安裝所選 JDK 版本。這過程可能需要一些時間,取決於您的網路速度與 JDK 檔案大小。
- 安裝完成後,該版本狀態將變為
Installed
,控制圖示會換成 解除安裝 (Uninstall) 圖示(垃圾桶)。
管理已安裝的 JDK
- 檢視已安裝版本: 列表中
Installed
狀態會明確標示目前環境中已安裝的所有 OpenJDK 版本。 - 解除安裝 JDK: 若不再需要某已安裝的 JDK,只需點擊其對應的 解除安裝 (Uninstall) 圖示(垃圾桶),並確認,即可從系統中移除。
使用已安裝的 JDK
ServBay 完成 OpenJDK 安裝後,會同時管理相關環境變數(如 JAVA_HOME
和 PATH
),方便您在已啟用 ServBay 環境的終端機中使用。
常用指令範例:
查看目前使用中的 Java 版本: 打開終端機並執行:
bashjava -version
1此命令會顯示當前終端會話中預設啟用的 Java(OpenJDK)版本。其內容可能受全域設定或專案級
.servbay.config
檔影響。查看 Java 編譯器版本:
bashjavac -version
1
專案級版本控管:.servbay.config
的強大威力
面對多專案管理時,確保每個專案採用相容的 Java 版本極為重要。ServBay 提供了 .servbay.config
檔案,這是一個功能強大的專案級環境設定。
優勢:
- 多語言支援: 在同一個
.servbay.config
檔中,除了 Java,還能設定 PHP、Node.js、Python、Go、Ruby、.NET 等語言所需版本。 - 環境一致性: 確保團隊成員或不同部署階段皆使用完全一致的語言版本。
- 自動切換: 只要您在終端機中利用
cd
進入含有.servbay.config
的專案目錄,ServBay 環境會自動載入該檔案的設定,包括指定的JAVA_VERSION
。
範例設定:
在您的 Java 專案根目錄建立 .servbay.config
,並新增 JAVA_VERSION
變數,指定所需 OpenJDK 主版本號(如 11、17、21)。ServBay 會自動選用您已安裝的該主版本中最高修訂版。
# .servbay.config
# 指定專案使用的 OpenJDK 主版本(例如 11)
# ServBay 會自動採用已安裝的 11.x.y 最新版
JAVA_VERSION=11
# 亦可同時指定其他語言版本與參數
PHP_VERSION=8.2
NODE_VERSION=20
# ... 其他設定 ...
NPM_CONFIG_REGISTRY=https://registry.npmmirror.com/
GOPROXY=https://goproxy.cn,direct
2
3
4
5
6
7
8
9
10
11
12
當您在此目錄下開啟終端機並啟用 ServBay 環境後,執行 java -version
,將顯示您於 .servbay.config
所指定的 Java 版本(若已安裝,會取同主版本序列中最高版本)。
建構工具:Apache Maven
許多 Java 專案需依賴建構工具來管理相依套件、編譯、測試與封裝。Apache Maven 是最受歡迎的選擇之一。
- 安裝 Maven: 您可於 ServBay 的
套件 (Packages)
->Java
類別下找到 Apache Maven,方式與安裝 JDK 一樣簡單。 - 使用 Maven: 安裝後,在已啟用 ServBay 環境的終端機可直接執行
mvn
指令。bash# 查詢 Maven 版本 mvn -version # 在 Maven 專案目錄下執行建構流程 # 例如,編譯與封裝: mvn clean package
1
2
3
4
5
6
整合 Web 伺服器(部署 Java Web 應用)
針對 Java Web 應用(如基於 Spring Boot、Jakarta EE 或其他框架),您通常會將其封裝為可執行的 JAR 檔或 WAR 檔。
- 可執行 JAR: 可直接利用
java -jar myapp.jar
運行。若需對外提供標準埠(80/443)存取,並配合 ServBay 的網域名稱與 SSL 管理,可設定 ServBay 的 Web 伺服器(Nginx、Caddy、Apache)作反向代理,將特定網域請求導向您的 Java 應用所監聽的內部埠(如 8080)。 - WAR 檔: 需部署至 Servlet 容器(如 Apache Tomcat、Jetty)。ServBay 日後將推出 Tomcat 等相關套件供安裝與使用。同樣也可透過反向代理將流量導向 Tomcat 埠。
請參考 ServBay 有關新增網站與設定反向代理的相關文件。
總結
ServBay 為 macOS 上的 Java 開發者提供一站式解決方案,徹底簡化多版本 OpenJDK 的安裝、管理與切換。配合 .servbay.config
執行專案級版本控管、建構工具如 Maven 的整合,ServBay 將大幅提升您的 Java 開發效率與環境一致性。