Skip to content

添加依赖项

添加服务器依赖项

在本主题中,我们将向您展示如何向现有的 Gradle/Maven 项目中添加 Ktor Server 所需的依赖项。

配置仓库

在添加 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)的平台特定构件,例如 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

使用发布的版本目录

您还可以通过使用发布的版本目录来集中管理 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,那么在配置相应插件时,您还需要考虑创建服务器的方式。 请通过以下主题了解更多信息: