Skip to content

新增伺服器依賴項

在本主題中,我們將向您展示如何將 Ktor 伺服器所需的依賴項新增至現有的 Gradle/Maven 專案。

配置儲存庫

在新增 Ktor 依賴項之前,您需要為此專案配置儲存庫:

  • 生產版本

    Ktor 的生產版本可在 Maven 中央儲存庫中找到。 您可以在建置腳本中如此聲明此儲存庫:

    Kotlin
    Groovy

    NOTE

    您無需在 pom.xml 檔案中新增 Maven 中央儲存庫,因為您的專案會從 Super POM 繼承中央儲存庫。

  • 搶先體驗計畫 (EAP)

    若要存取 Ktor 的 EAP 版本,您需要引用 Space 儲存庫

    Kotlin
    Groovy
    XML

    請注意,Ktor EAP 可能需要 Kotlin 開發儲存庫

    Kotlin
    Groovy
    XML

新增依賴項

核心依賴項

每個 Ktor 應用程式至少需要以下依賴項:

  • ktor-server-core:包含 Ktor 核心功能。

  • 一個用於

    引擎
    了解處理網路請求的引擎。
    的依賴項(例如,ktor-server-netty)。

針對不同的平台,Ktor 提供了帶有 -jvm 等字尾的平台特定構件 (artifacts),例如 ktor-server-core-jvmktor-server-netty-jvm。 請注意,Gradle 會解析適合指定平台的構件,而 Maven 不支援此功能。 這表示對於 Maven,您需要手動新增平台特定字尾。 基本 Ktor 應用程式的 dependencies 區塊可能如下所示:

Kotlin
Groovy
XML

記錄依賴項

Ktor 使用 SLF4J API 作為各種記錄框架(例如 Logback 或 Log4j)的門面 (facade),並允許您記錄應用程式事件。 若要了解如何新增所需的構件,請參閱新增記錄器依賴項

插件依賴項

擴展 Ktor 功能的

插件
插件提供常見功能,例如序列化、內容編碼、壓縮等等。
可能需要額外的依賴項。 您可以從相應的主題中了解更多資訊。

確保 Ktor 版本一致性

使用 Ktor Gradle 插件

套用 Ktor Gradle 插件 會隱式新增 Ktor BOM 依賴項,並讓您確保所有 Ktor 依賴項都處於 相同版本。在這種情況下,您在依賴 Ktor 構件時不再需要指定版本:

Kotlin
Groovy

使用已發佈的版本目錄

您也可以透過使用已發佈的版本目錄來集中管理 Ktor 依賴項聲明。 這種方法提供以下好處:

  • 無需在您自己的目錄中手動聲明 Ktor 版本。
  • 將每個 Ktor 模組公開在單一命名空間下。

若要聲明此目錄,請在 settings.gradle.kts 中建立一個您選擇名稱的版本目錄:

kotlin

然後,您可以透過引用目錄名稱,在模組的 build.gradle.kts 中新增依賴項:

kotlin

建立應用程式執行入口點

使用 Gradle/Maven

執行
了解如何執行伺服器 Ktor 應用程式。
Ktor 伺服器取決於
建立伺服器
了解如何根據您的應用程式部署需求建立伺服器。
的方式。 您可以透過以下方式之一指定應用程式主類別:

  • 如果您使用 embeddedServer,請如此指定主類別:

    Kotlin
    Groovy
    XML
  • 如果您使用 EngineMain,則需要將其配置為主類別。 對於 Netty,它將如下所示:

    Kotlin
    Groovy
    XML

NOTE

如果您打算將應用程式打包為 Fat JAR,則在配置相應插件時,還需要考慮建立伺服器的方式。 從以下主題了解更多資訊: