# Mirai - Configuring Projects

本文介绍如何在一个 JVM 项目中使用 mirai。

具体项目可参考 mirai-hello-world (opens new window)

# 选择版本

有关各类版本的区别,参考 版本规范。通常建议选择最新稳定版本。

版本类型 版本号链接
稳定 GitHub Releases (opens new window)
预览 GitHub Releases (opens new window)
开发 UsingSnapshots

# 配置项目

本文提供如下三种配置方法。推荐使用 Gradle 构建。

注意,下文版本号可能过旧,请自行参照上述表格更新版本号

# A. 使用 Gradle

# Gradle Kotlin DSL

build.gradle.kts 添加:

plugins {
    kotlin("jvm") version "1.5.30" // 确保添加 Kotlin
}

dependencies {
    api("net.mamoe", "mirai-core", "2.9.1")
}
1
2
3
4
5
6
7

注意,必须添加 Kotlin 插件才能正确获取 mirai 软件包。

依赖配置完成,请选择:

# Gradle Groovy DSL

build.gradle 添加

plugins {
    id 'org.jetbrains.kotlin.jvm' version '1.5.30' // 确保添加 Kotlin
}

dependencies {
    implementation 'net.mamoe:mirai-core:2.9.1'
}
1
2
3
4
5
6
7

依赖配置完成,请选择:

# 分离 API 和实现(可选)

Mirai 在开发时需要 net.mamoe:mirai-core-api, 在运行时需要 net.mamoe:mirai-core。可以在开发和编译时只依赖 mirai-core-api,会减轻对 IDE 的负担。
在 2.8.0 起 Mirai 提供 mirai-bom 用于自动协调 Mirai 不同组件的版本信息,这是引用 Mirai 平台的首选方式。 使用 mirai-bom 也会对 Dependabot 等自动化依赖管理程序更加友好。

dependencies {
    api(platform("net.mamoe:mirai-bom:2.9.1"))
    api("net.mamoe:mirai-core-api")     // 编译代码使用
    runtimeOnly("net.mamoe:mirai-core") // 运行时使用
}
1
2
3
4
5

也可以继续使用如下传统方式,但务必保证 mirai-core-apimirai-core 的版本号相一致,以避免潜在的异常。
尤其注意 Dependabot 等依赖管理程序可能会导致模块版本不同。

dependencies {
    val miraiVersion = "2.9.1"
    api("net.mamoe", "mirai-core-api", miraiVersion)     // 编译代码使用
    runtimeOnly("net.mamoe", "mirai-core", miraiVersion) // 运行时使用
}
1
2
3
4
5

# B. 使用 Maven

推荐使用 gradle, 使用 maven 您可能会遇到各种奇怪的依赖错乱问题

pom.xml 中添加 mirai 依赖:

<dependencies>
    <dependency>
        <groupId>net.mamoe</groupId>
        <artifactId>mirai-core-jvm</artifactId>
        <version>2.9.1</version> 
    </dependency>
</dependencies>
1
2
3
4
5
6
7

注意在 Maven,artifactId 要使用带 -jvm 后缀的

通常 mirai 可以直接使用。但 mirai 使用的 Kotlin 1.5 可能与你的项目使用的其他库依赖的 Kotlin 版本冲突,Maven 有时候无法正确处理这种冲突。此时请手动添加 Kotlin 标准库依赖。

<properties>
    <kotlin.version>1.5.10</kotlin.version>
</properties>
1
2
3
<dependencies>
    <dependency>
        <groupId>org.jetbrains.kotlin</groupId>
        <artifactId>kotlin-stdlib-jdk8</artifactId>
        <version>${kotlin.version}</version>
    </dependency>
</dependencies>
1
2
3
4
5
6
7

可以在 Kotlin 官方文档 (opens new window) 获取更多有关配置 Kotlin 的信息。

依赖配置完成,回到 Mirai 文档索引

# C. 下载 JAR 包

非常不推荐这种方法,请尽可能使用构建工具。

Maven Central (opens new window)阿里云代理仓库 (opens new window) 下载指定版本的 -all.jar 文件,即包含 mirai-coremirai-core-apimirai-core-utils 和其他依赖。

回到 Mirai 文档索引