新增相依性
新增伺服器相依性
在本主題中,我們將向您展示如何將 Ktor Server 所需的相依性新增至現有的 Gradle/Maven 專案。
設定存儲庫
在新增 Ktor 相依性之前,您需要為此專案設定存儲庫:
生產版本
Ktor 的生產版本可在 Maven 中央存儲庫中取得。 您可以在建置指令碼中宣告此存儲庫,如下所示:
早期體驗體計劃 (EAP)
要存取 Ktor 的 EAP 版本,您需要參照 Space 存儲庫:
KotlinGroovyXML請注意,Ktor EAP 可能需要 Kotlin 開發存儲庫:
KotlinGroovyXML
新增相依性
核心相依性
每個 Ktor 應用程式至少需要以下相依性:
ktor-server-core:包含核心 Ktor 功能。一個
引擎的相依性(例如了解處理網路請求的引擎。ktor-server-netty)。
對於不同的平台,Ktor 提供特定平台的成品 (artifacts),並帶有 -jvm 等後綴,例如 ktor-server-core-jvm 或 ktor-server-netty-jvm。 請注意,Gradle 會解析適合特定平台的成品,而 Maven 不支援此功能。 這意味著對於 Maven,您需要手動新增特定平台的後綴。 一個基礎 Ktor 應用程式的 dependencies 區塊可能如下所示:
記錄相依性
Ktor 使用 SLF4J API 作為各種記錄架構(例如 Logback 或 Log4j)的介面,並允許您記錄應用程式事件。 要了解如何新增所需的成品,請參閱新增記錄器相依性。
確保 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
