建置 Tomcat

目錄

簡介

從原始碼建置 Apache Tomcat 非常容易,也是對 Tomcat 做出貢獻的第一步。完整且全面的說明提供在 BUILDING.txt 檔案中。以下是快速的分步指南。

下載 Java 開發套件 (JDK)

建置 Apache Tomcat 需要安裝 JDK (版本 17) 或更新版本。您可以從 https://adoptium.net/temurin/releases 或其他 JDK 供應商下載。

重要事項:將環境變數 JAVA_HOME 設定為您安裝 JDK 發行版的目錄路徑。

安裝 Apache Ant

這裡下載 Ant 1.10.2 或更新版本的二進位發行版。

將二進位發行版解壓縮到方便的位置,讓 Ant 發行版駐留在自己的目錄中(慣例命名為 apache-ant-[版本])。在本指南的其餘部分,符號名稱 ${ant.home} 用於指稱 Ant 安裝目錄的完整路徑。

重要事項:建立一個 ANT_HOME 環境變數來指向目錄 ${ant.home},並修改 PATH 環境變數,在其清單中包含目錄 ${ant.home}/bin。這會讓 ant 命令列腳本可用,實際上會用於執行建置。

取得 Tomcat 原始碼

Tomcat Git 儲存庫網址:https://github.com/apache/tomcat

Tomcat 原始程式碼套件:https://tomcat.dev.org.tw/download-10.cgi

使用 Git 克隆原始程式碼儲存庫,選擇已發佈版本的標籤或主程式碼的 main,或下載並解壓縮原始程式碼套件。在本指南的其餘部分,符號名稱 ${tomcat.source} 用於指稱放置原始程式碼的位置。

組態下載區域

建置 Tomcat 涉及下載許多它依賴的函式庫。強烈建議為這些函式庫設定下載區域。

預設情況下,建置設定為將相依性下載到 ${user.home}/tomcat-build-libs 目錄。您可以變更此設定(如下所示),但它必須是絕對路徑。

透過建立 ${tomcat.source}/build.properties 檔案來控制建置。它可用於重新定義 build.properties.defaultbuild.xml 檔案中存在的任何屬性。預設情況下,build.properties 檔案不存在。您必須建立它。

下載區域由屬性 base.path 定義。例如

# ----- Default Base Path for Dependent Packages -----
# Replace this path with the directory path where
# dependencies binaries should be downloaded.
base.path=/home/me/some-place-to-download-to

不同版本的 Tomcat 可以共用相同的下載區域。

另一個範例

base.path=${user.dir}/../libraries-tomcat10.1

透過代理伺服器存取網際網路的使用者,必須使用屬性檔案來向 Ant 指出代理伺服器設定

# ----- Proxy setup -----
proxy.host=proxy.domain
proxy.port=8080
proxy.use=on

建置 Tomcat

使用下列指令建立 Tomcat

cd ${tomcat.source}
ant

一旦建立成功,一個可用的 Tomcat 安裝將會產生在 ${tomcat.source}/output/build 目錄,並可以使用一般的指令碼啟動和停止。

使用 Eclipse 建置

重要:這不是建立 Tomcat 的支援方式;此資訊不提供擔保 :-)。唯一支援的建立 Tomcat 方式是使用上述的 Ant 建立。然而,有些開發人員喜歡使用 Java IDE 來處理 Java 程式碼,而下列步驟已被一些開發人員使用。

注意:這不會讓您在 Eclipse 中建立所有內容;建立程序需要使用 Ant 來處理許多不是單純 Java 編譯的階段。然而,它將允許您檢視和編輯 Java 程式碼、取得警告、重新格式化程式碼、執行重構、在 IDE 中執行 Tomcat,等等。

警告:在執行任何 Ant 目標之前,別忘了建立並設定 ${tomcat.source}/build.properties 檔案,如上所述。

範例 Eclipse 專案檔案和啟動目標提供在原始碼樹的 res/ide-support/eclipse 目錄中。下列說明將自動複製這些檔案到所需的位置。

提供一個 Ant 目標,作為下載所有二進位相依項目的便利方式,並在原始碼樹的根目錄建立 Eclipse 專案和類別路徑檔案。

cd ${tomcat.source}
ant ide-eclipse

啟動 Eclipse 並建立一個新的工作空間。

使用 檔案->匯入 並選擇 現有專案到工作空間。從那裡選擇 Tomcat 原始碼樹的根目錄 (${tomcat.source}) 並匯入位於那裡的 Tomcat 專案。

start-tomcatstop-tomcat 啟動組態提供在 res/ide-support/eclipse 中,並將在 執行->執行組態 對話方塊中可用。使用這些組態從 Eclipse 啟動和停止 Tomcat。如果您想自己設定這些組態 (或正在使用不同的 IDE),則使用 org.apache.catalina.startup.Bootstrap 作為主類別,start/stop 等作為程式引數,並指定 -Dcatalina.home=... (使用您的建立目錄的名稱) 作為 VM 引數。

調整一些格式化偏好設定將使它更容易與 Tomcat 編碼慣例保持一致 (並讓您的貢獻被接受)

Java -> 程式碼樣式 -> 格式化程式 -> 編輯... 標籤政策:僅限空白
標籤和縮排大小:4
一般 -> 編輯器 -> 文字編輯器 顯示標籤寬度:2
插入空白以取代標籤
顯示空白字元 (選用)
XML -> XML 檔案 -> 編輯器使用空白縮排
縮排大小:2
Ant -> 編輯器 -> 格式化器Tab 大小:2
使用 Tab 字元取代空白:未勾選

建議的編譯器警告設定已記錄在 res/ide-support/eclipse/java-compiler-errors-warnings.txt 檔案中。

使用其他 IDE 建置

相同的一般方法應適用於大多數 IDE;例如,已回報適用於 IntelliJ IDEA。