# 配置
Mirai 的配置异常的简单,我们仅需要一些简单的配置即可使用 Mirai 的强大功能!
TIP
在讲解配置之前,请确保您已经安装了 Mirai,如果您尚未安装,请查看 安装 一章。
# Mirai Guide - Build For Mirai
由于Mirai项目在快速推进中,因此内容时有变动,本文档的最后更新日期为2020-02-29
,对应版本0.23.0
本页面采用Kotlin作为开发语言,若你希望使用 Java 开发, 请参阅: mirai-japt
本页面是Mirai Guide - Subscribe Events的后续Guide
# build.gradle
我们首先来看一下完整的build.gradle
文件
plugins {
id 'java'
id 'org.jetbrains.kotlin.jvm' version '1.3.61'
}
group 'test'
version '1.0-SNAPSHOT'
sourceCompatibility = 1.8
repositories {
mavenCentral()
jcenter()
}
dependencies {
implementation 'net.mamoe:mirai-core-qqandroid-jvm:0.19.1'
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8"
testCompile group: 'junit', name: 'junit', version: '4.12'
}
compileKotlin {
kotlinOptions.jvmTarget = "1.8"
}
compileTestKotlin {
kotlinOptions.jvmTarget = "1.8"
}
使用gradle直接打包,不会将依赖也打包进去
因此,我们引入一些插件进行打包
# ShadowJar
shadowJar支持将依赖也打包到Jar内,下面介绍用法。
# 1.buildscript
首先声明buildScript
buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'com.github.jengelman.gradle.plugins:shadow:5.2.0'
}
}
在plugin前加入以上语句
# 2.在plugins中进行插件的使用
将原本的plugins
plugins {
id 'java'
id 'org.jetbrains.kotlin.jvm' version '1.3.61'
}
覆盖为
plugins {
id 'java'
id 'org.jetbrains.kotlin.jvm' version '1.3.61'
id 'com.github.johnrengelman.shadow' version '5.2.0'//使用shadow对依赖进行打包
}
apply plugin: 'com.github.johnrengelman.shadow'
apply plugin: 'java'
# 3.添加shadowJar
在文件底部添加
shadowJar {
// 生成包的命名规则: baseName-version-classifier.jar
manifest {
attributes(
'Main-Class': 'net.mamoe.mirai.simpleloader.MyLoaderKt'//入口点
)
}
// 将 build.gradle 打入到 jar 中, 方便查看依赖包版本
from("./"){
include 'build.gradle'
}
}
# 4.运行build
在IDEA中点击ShadowJar
左侧的run按钮(绿色小三角),build完成后在build\libs
中找到jar
至此,build.gradle内的内容是
buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'com.github.jengelman.gradle.plugins:shadow:5.2.0'
}
}
plugins {
id 'java'
id 'org.jetbrains.kotlin.jvm' version '1.3.61'
id 'com.github.johnrengelman.shadow' version '5.2.0'//使用shadow对依赖进行打包
}
apply plugin: 'com.github.johnrengelman.shadow'
apply plugin: 'java'
group 'test'
version '1.0-SNAPSHOT'
sourceCompatibility = 1.8
repositories {
mavenCentral()
jcenter()
}
dependencies {
implementation 'net.mamoe:mirai-core-qqandroid-jvm:0.23.0'
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8"
testCompile group: 'junit', name: 'junit', version: '4.12'
}
compileKotlin {
kotlinOptions.jvmTarget = "1.8"
}
compileTestKotlin {
kotlinOptions.jvmTarget = "1.8"
}
shadowJar {
// 生成包的命名规则: baseName-version-classifier.jar
manifest {
attributes(
'Main-Class': 'net.mamoe.mirai.simpleloader.MyLoaderKt'
)
}
// 将 build.gradle 打入到 jar 中, 方便查看依赖包版本
from("./"){
include 'build.gradle'
}
}