添加服务器依赖项
在本主题中,我们将向您展示如何将 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
等后缀的平台特有的构件,例如 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 构件时,您不再需要指定版本:
创建运行应用程序的入口点
如果您使用 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