添加依赖项
添加服务器依赖项
在本主题中,我们将向您展示如何向现有的 Gradle/Maven 项目中添加 Ktor Server 所需的依赖项。
配置仓库
在添加 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 构件时,您不再需要指定版本:
创建运行应用程序的入口点
使用 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
