Skip to content

新增相依性

新增伺服器相依性

在本主題中,我們將向您展示如何將 Ktor Server 所需的相依性新增至現有的 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 提供特定平台的成品 (artifacts),並帶有 -jvm 等後綴,例如 ktor-server-core-jvmktor-server-netty-jvm。 請注意,Gradle 會解析適合特定平台的成品,而 Maven 不支援此功能。 這意味著對於 Maven,您需要手動新增特定平台的後綴。 一個基礎 Ktor 應用程式的 dependencies 區塊可能如下所示:

Kotlin
Groovy
XML

記錄相依性

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

外掛程式相依性

擴充 Ktor 功能的

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

確保 Ktor 版本一致性

使用 Ktor Gradle 外掛程式

套用 Ktor Gradle 外掛程式 會隱含地新增 Ktor BOM 相依性,並允許您確保所有 Ktor 相依性都處於 相同版本。在這種情況下,當相依於 Ktor 成品時,您不再需要指定版本:

Kotlin
Groovy

使用發佈的版本目錄

您也可以透過使用發佈的版本目錄 (version catalog) 來集中 Ktor 相依性宣告。 此方法具有以下優點:

  • 消除在您自己的目錄中手動宣告 Ktor 版本的需求。
  • 在單一命名空間下公開每個 Ktor 模組。

要宣告目錄,請在 settings.gradle.kts 建立一個具有您所選名稱的版本目錄:

kotlin

然後,您可以透過參照目錄名稱,在模組的 build.gradle.kts 中新增相依性:

kotlin

為執行應用程式建立進入點

使用 Gradle/Maven

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

  • 如果您使用 embeddedServer,請按如下方式指定主類別:

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

    Kotlin
    Groovy
    XML

NOTE

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