Skip to content

项目构建

该文档将指导您如何通过源代码和maven项目工程来编译、运行和打包构建咸鱼云网盘项目

如果您需要通过 Docker 进行容器化构建,请参考 Docker Compose 部署Dockerfile 构建

0. 环境准备

  • JDK 25
  • maven 3.9+

1. 拉取代码

这一步比较简单,会使用Git的应该都会这一步

git clone https://github.com/mjt233/saltedfishcloud-backend
# 或者使用gitee仓库链接
git clone https://gitee.com/xiaotao233/saltedfishcloud-backend

2. 切换分支

一般情况下,master分支是相对稳定的发布分支。而develop分支可能可以体验到master分支没有的新功能、bug修复、以及可能更多的bug。

develop分支提交可能会比较频繁,往往会不稳定。

# 切换到master
git checkout master
# 切换到develop
git checkout develop

3. 前端项目打包集成(可选)

如果你需要将前端项目集成到SpringBoot后端资源中,可按照以下步骤进行配置。

  1. 配置环境变量SFC_FRONT_END_PATH为前端项目的本地路径
  2. 在前端项目中使用npm run build对前端项目进行编译打包(如已执行过打包可忽略该步,前端代码发生修改后需要重新编译)

完成上面的配置后,后面对模块saltedfishcloud或sfc-core执行maven的compilepackage操作,即可将前端集成到sfc-core模块的resource/webapp

如果你不需要集成前端项目,请不要设置环境变量SFC_FRONT_END_PATH
Windows PowerShell 示例:$env:SFC_FRONT_END_PATH='C:\Users\xiaotao\code\saltedfishcloud-frontend'

4. 安装模块到本地maven仓库

如果你需要单独对某一模块进行compilepackage操作,就需要先将saltedfishcloud项目安装到本地仓库,执行maven的install即可。

参考命令:

mvn install

5. 打包并创建release资源

在saltedfishcloud模块执行package操作,将清空release目录,然后会将pre-release目录下的文件、README.md文件复制到release中,随后则是各个子模块的package动作。

sfc-core模块会将打包后的主程序jar包也复制到主模块的release下。其他拓展ext模块则会把自身的jar包复制到主模块的release/ext-available

参考命令:

  • bash
    mvn clean package -Pproduct -T $(nproc)
    
  • powershell
    mvn clean package -Pproduct -T $env:NUMBER_OF_PROCESSORS