基于Halo源码构建Jar文件
源码下载
源码下载地址(github):https://github.com/halo-dev/halo.git
源码下载地址(gitee):https://gitee.com/halo-dev/halo.git
下载halo2.x源码后使用IDEA打开项目
IDEA配置
配置jdk版本:
如果出现了如下错误,可以通过配置jdk版本解决:
No matching variant of org.sonarsource.scanner.gradle:sonarqube-gradle-plugin:4.4.1.3373 was found. The consumer was configured to find a library for use during runtime, compatible with Java 8, packaged as a jar, and its dependencies declared externally, as well as attribute 'org.gradle.plugin.api-version' with value '8.4'
解决jdk版本与gradle不兼容问题:
配置完成后点击应用按钮,再点击刷新按钮重新加载项目:
等待项目完成初始化加载,并出现如下内容代表项目可以被正常编译:
解决依赖下载超时问题
如果遇到依赖下载失败的情况,可以通过如下两种方式解决:
配置代理(PS:魔法,Clash客户端+订阅)
配置离线的gradle仓库(下载并解压到任意位置,如D:\data\gradleRepo目录下):
gradle离线依赖
在IDEA中配置gradle的用户目录:
编译项目
编译前端
console包含管理端和个人中心(nodejs项目),本地需要安装如下环境:
pnpm(安装nodejs后,可以通过npm包管理器进行安装,pnpm安装请参考#常见编译问题)
安装完上述环境后,在IDEA中打开终端工具:
执行如下命令编译前端代码:
# 进入console目录 cd console # 使用pnpm工具安装依赖 pnpm install # 构建项目中的所有包 pnpm build:packages # 构建项目 pnpm build
上述命令执行成功后,前端项目便会被自动编译到根目录下的application/src/main/resources目录下,并跟随后端项目打包到最终的jar文件中
编译后端
在IDEA中打开终端工具:
执行如下命令编译后端代码:
# 下载预设插件 ./gradlew.bat downloadPluginPresets # 构建jar包 ./gradlew.bat clean build -x check
执行上述命令成功后,会在根目录下的application/build/libs目录下出现application-xxx-SNAPSHOT.jar,至此halo2.x生成jar文件结束
常见编译问题
Could not resolve all files for configuration ':classpath'.错误
这个错误是jdk版本过低导致,通过配置根目录下的gradle.properties解决Error while evaluating property 'generatedProperties' of task ':application:generateGitProperties'.错误
在根目录下输入如下命令,将项目初始化为一个新的Git仓库:git init .
Execution failed for task ':application:downloadPluginPresets'.错误
预设插件下载失败,可以通过如下三种方式解决:
1.配置代理(PS:魔法)
gradle.properties文件添加如下配置:systemProp.https.proxyHost=127.0.0.1
systemProp.https.proxyPort=7890
2.修改插件下载地址(修改application/build.gradle文件):
3.注释插件下载任务,直接将如下资源拷贝到根目录下的application/src/main/resources/presets/plugins路径下:
预设插件下载pnpm安装
pnpm是类似yarn、npm的依赖管理工具,可以通过npm命令在终端运行如下命令安装:npm install -g pnpm