halo-blog项目环境搭建
halo-blog项目环境搭建
参考许多网络资源,很多参考内容都是基于halo项目的环境搭建和一键配置。回归初心,主要结合halo项目进行扩展、学习,学习项目结构和技术栈内容
1.halo项目环境搭建
项目版本管理
工具说明
halo 1.4.15 版本
idea2021、JDK11、Gradle7.0.0
数据库:mysql8.0、h2数据库
参考文档
halo官方文档
项目本地配置启动
操作说明
File->import project/open->选定本地halo项目所在路径
等待项目自动载入gradle等相关配置、依赖(检查JDK(11)、Gradle(7.0.0)、IDEA版本(2021))
待项目依赖加载完成,随后进入Application.java
启动springboot项目
常见问题
<1>Gradle和JDK版本问题
自定义Gradle版本切换
查看build.gradle文件,检查halo中JDK版本信息
从 1.4.3 开始,Halo 最低支持的 JRE 版本为 11
如果需要将JDK版本调整为8则修改两处位置:
- 修改build.gradle中JDK版本:将
JavaVersion.VERSION_11
修改为JavaVersion.VERSION_1_8
- 修改项目配置中Project的JDK引用版本(Project SDK、Project language level)
<2>Gradle构建失败
build.gradle文件中DependencyResolveDetails
飘红
检查出错日志
参考stackoverflow:https://stackoverflow.com/questions/67136909/gradle-issues-details-in-discription,提供解决方式是更换gradle/wrapper中的gradle-wrapper.properties文件中的gradle版本(我的idea版本是2018.2.5,而halo项目中引用的gradle版本是7.0,可尝试适当降配),还有一种方式是升级idea至2021.1.2 (Community Edition)
或者可自定义指定本地的gradle版本,file->setting->gradle
解决方案1:gradle降配(但版本不能过低,例如5.6.4则会出现下述提示)与idea版本兼容
解决方案2:升级idea到2021版本
<3>项目启动
springboot项目启动时报错:Command line is too long. Shorten command line for xxxApplication or also for Spring Boot default configuration
点击 Edit configurations…,点开Environment -> Shorten command line -> 选择 JAR manifest -> 点击Apply完成设置
项目初始化
在不调整任何相关配置基础上(后续结合自身需求进行扩展),先了解halo项目的整个流程和项目结构,便于后续扩展
项目访问地址:
博客前台:http://[ip]:8090
博客后台:http://[ip]:8090/admin
第一次访问需要初始化博客项目,输入初始化信息(如已存在存量halo数据信息,则选择数据导入的方式),随后进入博客后台即可
初始化完成,随后进入博客后台,则可看到相应的控制台界面
了解每个功能的简单应用,便可开始个人博客之旅,基于这些功能组件的应用,再去了解其相应的实现、自定义改造
第一次初始化可能会存在默认主题缺失的情况(Default theme: caicai_anatole was not found!),检查C:\Users[用户名].halo\templates\themes\caicai_anatole 发现文件夹为空,说明没有安装主题
清理用户下的[用户名].halo目录,随后在halo项目下执行下述指令克隆主题,再运行项目
1 | git submodule init |
如果指令执行较慢,可从源码入手,先执行git submodule init
初始化子模块,随后再查看halo项目下的\src\main\resources\templates\themes文件夹,将对应的主题放进去
安装完成,则可看到相应的内容生成,随后重启项目即可
数据存放
在未改动任何配置情况下,通过window构建项目运行环境,项目相关的数据文件均存放在C:\Users\[用户名].halo\
下,因此当清理了相关内容,则需重新进行相应的配置(例如在上述引入默认主题时清理了相关配置则需重新构建配置)
主题安装
可自定在后台管理中安装主题,或者在主题官网中下载主题并将其放置在指定目录即可。主题参考:halo主题仓库