新增伺服器依賴項
在本主題中,我們將向您展示如何將 Ktor 伺服器所需的依賴項新增至現有的 Gradle/Maven 專案。
配置儲存庫
在新增 Ktor 依賴項之前,您需要為此專案配置儲存庫:
生產版本
Ktor 的生產版本可在 Maven 中央儲存庫中找到。 您可以在建置腳本中如此聲明此儲存庫:
搶先體驗計畫 (EAP)
若要存取 Ktor 的 EAP 版本,您需要引用 Space 儲存庫:
KotlinGroovyXML請注意,Ktor EAP 可能需要 Kotlin 開發儲存庫:
KotlinGroovyXML
新增依賴項
核心依賴項
每個 Ktor 應用程式至少需要以下依賴項:
ktor-server-core
:包含 Ktor 核心功能。一個用於
引擎的依賴項(例如,了解處理網路請求的引擎。ktor-server-netty
)。
針對不同的平台,Ktor 提供了帶有 -jvm
等字尾的平台特定構件 (artifacts),例如 ktor-server-core-jvm
或 ktor-server-netty-jvm
。 請注意,Gradle 會解析適合指定平台的構件,而 Maven 不支援此功能。 這表示對於 Maven,您需要手動新增平台特定字尾。 基本 Ktor 應用程式的 dependencies
區塊可能如下所示:
記錄依賴項
Ktor 使用 SLF4J API 作為各種記錄框架(例如 Logback 或 Log4j)的門面 (facade),並允許您記錄應用程式事件。 若要了解如何新增所需的構件,請參閱新增記錄器依賴項。
確保 Ktor 版本一致性
使用 Ktor Gradle 插件
套用 Ktor Gradle 插件 會隱式新增 Ktor BOM 依賴項,並讓您確保所有 Ktor 依賴項都處於 相同版本。在這種情況下,您在依賴 Ktor 構件時不再需要指定版本:
建立應用程式執行入口點
使用 Gradle/Maven
如果您使用 embeddedServer,請如此指定主類別:
KotlinGroovyXML如果您使用 EngineMain,則需要將其配置為主類別。 對於 Netty,它將如下所示:
KotlinGroovyXML
NOTE
如果您打算將應用程式打包為 Fat JAR,則在配置相應插件時,還需要考慮建立伺服器的方式。 從以下主題了解更多資訊:
- 使用 Ktor Gradle 插件建立 Fat JAR了解如何使用 Ktor Gradle 插件建立並執行可執行 Fat JAR。
- 使用 Maven Assembly 插件建立 Fat JAR範例專案:tutorial-server-get-started-maven