# 在 Maven 项目中设置仓库和依赖项 对于你的 Kotlin Maven 项目, 除默认的 Maven Central 仓库之外, 可以配置 Maven 查找 artifact 的位置, 还可以定义你的项目所依赖的库. ## 声明仓库 默认情况下, 所有 Maven 项目都可以使用 `mavenCentral` 仓库. 要访问其他仓库中的 artifact, 请在 `` 节中, 为仓库名称指定自定义 ID 和 URL: ```XML spring-repo https://repo.spring.io/release ``` > **Note:** > 如果你在 Gradle 项目中将 `mavenLocal()` 声明为仓库, 在 Gradle 和 Maven 项目之间切换时可能会遇到问题. 详情请参见 [声明仓库](gradle-configure-project.html#declare-repositories). 通常, 要添加对某个库的依赖项, 你应该在 `` 节中声明一个新的 `` 条目: ```XML org.jetbrains.kotlinx kotlinx-serialization-json 1.11.0 ``` ## 设置依赖项 ### 对标准库的依赖项 Kotlin 有一个功能丰富的标准库, 可以在你的应用程序中使用. 你可以手动添加标准库的依赖项, 也可以启用 `` 选项, 在缺少这个依赖项时自动配置. #### 自动配置 你可以使用 Kotlin Maven 插件提供的 [<extensions> 选项](maven-configure-project.html#automatic-configuration), 这样就可以不必手动配置. 如果项目中没有定义 `kotlin-stdlib` 的依赖项, 它会自动添加这个依赖项. 例如, 当你创建新的 Kotlin Maven 项目, 或将 Kotlin 引入到现有的 Java Maven 项目时. 如果你已经声明了 `kotlin-stdlib` 依赖项, 例如使用了不同的版本, Kotlin Maven plugin 的 `` 不会覆盖它. 你也可以关闭标准库的自动添加. 方法是, 在 `` 节中添加以下内容: ```XML false ``` > **Note:** > 这个属性不仅会禁用标准库的自动添加, 还会禁用源代码根路径的注册. `` 的其他功能不受影响. #### 手动配置 要手动将 Kotlin 标准库添加到你的项目, 请更新 `pom.xml` 文件中的 `dependencies` 节, 内容如下: ```XML org.jetbrains.kotlin kotlin-stdlib ${kotlin.version} ``` > **Note:** > 如果你的目标平台是 JDK 7 或 8, 并且使用的 Kotlin 版本早于: > > > > * 1.8, 请分别使用 `kotlin-stdlib-jdk7` 或 `kotlin-stdlib-jdk8`. > > * 1.2, 请分别使用 `kotlin-stdlib-jre7` 或 `kotlin-stdlib-jre8`. ### 对测试库的依赖项 如果你的项目使用 [Kotlin 反射](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.reflect.full/), 或测试框架, 请添加相关的依赖项. 对反射库, 请使用 `kotlin-reflect`, 对测试库, 请使用 `kotlin-test` 和 `kotlin-test-junit5`: ```XML org.jetbrains.kotlin kotlin-reflect ${kotlin.version} org.jetbrains.kotlin kotlin-test-junit5 test ``` ### 对 kotlinx 库的依赖项 对 kotlinx 库, 你可以添加基础 artifact 名, 或带有 `-jvm` 后缀的 artifact 名. 请参考 [klibs.io](https://klibs.io/) 库的 README 文件. 例如, 添加 [kotlinx.coroutines](https://kotlinlang.org/api/kotlinx.coroutines/) 库的依赖项: ```XML org.jetbrains.kotlinx kotlinx-coroutines-core 1.11.0 ``` 添加 [kotlinx-datetime](https://kotlinlang.org/api/kotlinx-datetime/) 库的依赖项: ```XML org.jetbrains.kotlinx kotlinx-datetime-jvm 0.8.0 ``` ### 使用 BOM 依赖机制 要使用 Kotlin [物料清单 (Bill of Materials, BOM)](https://maven.apache.org/guides/introduction/introduction-to-dependency-mechanism.html#bill-of-materials-bom-poms), 请添加对 [kotlin-bom](https://mvnrepository.com/artifact/org.jetbrains.kotlin/kotlin-bom) 的依赖项: ```XML org.jetbrains.kotlin kotlin-bom 2.4.20 pom import ``` ## 下一步做什么? [配置 Kotlin 编译器](maven-kotlin-compiler.html)