使用 Kotlin(Java) 重写的 MAA 作业服务器后端
- kotlin 1.9 (Java 21)
- SpringBoot 3
- spring-security
- springdoc-openapi
- MongoDB
- Redis
- 使用你喜欢的 IDE 导入此项目,修改 /src/main/resources/application-template.yml 中的数据库配置以符合你自己配置的环境
- 下载安装 JDK 21 或者以上版本的 jdk,可以考虑从 zuluJDK 或者 libreicaJDK 下载安装。 Jetbrains Idea 可以使用自带的 JDK 管理器进行下载。
- 你需要一个有redis和mongoDB的环境,如果你是windows用户,可以从 https://github.com/tporadowski/redis 中下载版本较旧的 redis 使用。 您也可以直接使用
./dev-docker/docker-compose.yml
来启动 docker 服务。 - 运行
./gradlew bootRun
, windows 环境为./gradlew.bat bootRun
- 首次运行建议修改 ArkLevelSyncTask 类的 scheduled 注解的参数,这样可以将明日方舟中的关卡数据同步到你本地的 mongodb 中,为了防止反复调用造成调试的麻烦,建议首次运行同步成功后再将代码修改回去
- config # 存放 spring 配置
- common # 共享的逻辑
- controller # 交互层
- request # 入参类型
- response # 响应类型
- repository # 数据仓库层,用于和数据库交互
- entity # 与数据库字段对应的类型
- service # 业务处理层,复杂或者公用逻辑放在这里(注:您无需为每个类型都提供对应接口,只有当接口在可见未来有多个实现的时候才考虑建立接口)
- model # 应用内传输用类型放这里
- 安装 JDK 21,可以考虑从 zuluJDK 或者 libreicaJDK 下载
- clone 此项目
git clone https://github.com/MaaAssistantArknights/MaaBackendCenter.git
- 进入此项目目录
cd MaaBackendCenter
- 编译项目
./gradlew bootJar -x processAot
,windows 环境下请使用gradlew.bat bootJar -x processAot
- 获得编译后的 jar 文件
cp ./build/libs/MaaBackendCenter-1.0-SNAPSHOT.jar .
- 复制一份配置文件
cp ./build/resources/main/application-template.yml ./application-prod.yml
- 修改配置文件
application-prod.yml
- 运行项目
java -jar MaaBackendCenter-1.0-SNAPSHOT.jar --spring.profiles.active=prod
- 安装 GraalVM
Java21,并配置好环境变量,部分功能需要正确配置
JAVA_HOME
变量为 GraalVM 安装目录才能正常使用 - 如果您处于 Windows 环境下,需要安装
Visual Studio
并且安装 C++ 组件,Linux 环境下则需要安装gcc
工具链,Mac 下需要安装xcode
工具链,详情查看 native-image#prerequisites - 通过
gu install native-image
安装native-image
AOT 编译器 - 在该项目目录下,执行
./gradlew nativeRun
或者.\gradlew.bat nativeRun
编译并运行该项目 - 如果您希望产生 docker image,请执行
./gradlew bootBuildImage
QQ Group: 724540644