源码湾

Halo 建站系统源码:单 jar 部署,内置 Java 21 和数据库

源码湾
10月18日发布
资源信息 解压即用,含完整源码与已跑通的成品包。
版本
v2.27.0
授权
GPL-3.0
体积
154 MB
语言
Java
夸克网盘 无提取码 下载

今日下载 0 累计下载 3 还剩 10 个

Halo 是目前国内最流行的开源建站系统之一,GitHub 快 4 万 Star,官网 halo.run。它最大的特点是单文件部署——整个网站系统就是一个 jar 文件,没有 PHP 那一堆安装步骤,数据库也是内置的,双击就跑。

我这次在 Windows 本地从下载到发文章完整走了一遍,每一步都留了截图。先说几个实测数据:启动耗时 12 秒、安装到发出第一篇文章不到半小时、整个包 154MB(内置了 Java 运行时的版本)。

Halo 能干什么

一句话概括:它想取代的是 WordPress 那类「装好就能写、顺手还能当官网」的系统,只是把 PHP 换成了 Java。

按用途对号入座——

  • 个人博客、技术写作:默认主题就挺像样,不折腾模板也能见人
  • 团队知识库、产品文档站:官方有文档主题,后台一套管文章和独立页面
  • 公司官网、产品落地页:「关于我们」「价格」这类页面不用改代码,后台建个页面就能发
  • 想要个内容中台:Halo 2 自带内容 API,小程序、App 都能来取数据(这条我只确认了接口存在,没实际接过)

核心功能亮点

  • 一个后台管全部内容:文章、页面、分类、标签、附件,左侧栏一目了然
  • 内置应用市场:插件和主题在线安装,装完即用,不用登服务器改配置
  • TipTap 编辑器:左边正文右边大纲,## 加空格自动变标题,习惯 Markdown 的可以盲打
  • 评论是内置的:装完就有,不用再挂第三方评论系统
  • 暗色模式三档:暗色 / 亮色 / 跟随系统,选择存浏览器,晚上跟系统一起切
  • 本地搜索:内置插件自己建索引,文章发出去就进库,弹窗是命令面板那种风格
  • 移动端认真适配过:顶栏收成图标,字号、卡片间距跟着调,不是简单缩放
  • 主题是 FreeMarker + Vue:不会 Java 也能改模板

底子怎么样

  • 版本:2.27.0
  • 协议:GPL-3.0,改了再对外分发要开源
  • 技术栈:Java / Spring Boot,数据库默认内置 H2,也能接 MySQL、PostgreSQL
  • 部署形态:一个 jar + 一个 data 目录
  • 官网:halo.run

它跟 WordPress 的差别不在功能多少,在装法。WP 是文件扔进 web 目录、建库、跑安装向导;Halo 是 java -jar,所有数据落在 data 文件夹里,备份就是拷这个文件夹。

上手搭建:一条命令,但有个硬门槛

Halo 的部署方式是所有 CMS 里最简单的:一条命令

java -jar halo-2.27.0.jar --halo.work-dir=./data --server.port=8090

没有 web 目录要配、没有数据库要建,数据全部落在 data 文件夹里。启动 12 秒后就能访问了。

但我在这里踩了第一个坑:Halo 2.21 版本以后要求 JDK 21,我电脑上装的是 JDK 17,直接启动报版本错误。又去官网下了个 JDK21 才跑起来。所以打包的时候直接内置了一个精简版 Java 21 运行时(用 jlink 做的,44MB),你不需要装 Java,双击 启动Halo.bat 就行。

首次打开会自动跳到初始化页面,全中文:

初始化页 - Halo 建站系统源码:单 jar 部署,内置 Java 21 和数据库

第二个坑在这里:填管理员账号的时候,用户名最少要 4 个字符,我第一次填 ymw 被拦下来了,提示要增加字符。改成 yuanmawan 才过。

初始化页 填写 - Halo 建站系统源码:单 jar 部署,内置 Java 21 和数据库

站点名称、管理员、密码填完提交,几秒钟就建站完成:

初始化完成 - Halo 建站系统源码:单 jar 部署,内置 Java 21 和数据库

然后从登录页进后台:

halo-03b-登录页-填写 - Halo 建站系统源码:单 jar 部署,内置 Java 21 和数据库

界面实拍:后台和前台

后台

进后台第一眼,仪表盘做得挺现代,不是那种上个时代的 PHP 后台画风:

console 仪表盘 - Halo 建站系统源码:单 jar 部署,内置 Java 21 和数据库

左侧栏是完整的模块化菜单:文章、页面、评论、附件、主题、菜单、插件、用户、设置,还有一个应用市场——插件和主题能直接在线装。

主题管理页能直观地看到已装主题,支持本地上传 zip 和在线安装:

主题管理 - Halo 建站系统源码:单 jar 部署,内置 Java 21 和数据库

站点标题、副标题、Logo、Favicon 都在「设置 → 基本设置」里换,我把这套全改成了「源码湾」:

系统设置 - Halo 建站系统源码:单 jar 部署,内置 Java 21 和数据库

这里有个小坑:Logo 和 Favicon 的上传交互做得有点绕——点加号要经过「上传文件 / 从附件库选择 / 输入链接」一条链路,选附件库的时候图片还有个 hover 覆盖层,用键盘操作基本无从下手。我最后是直接调接口设置的,比点界面快。

附件库本身没问题,上传过的图都在这管:

附件库 - Halo 建站系统源码:单 jar 部署,内置 Java 21 和数据库

写作页是 TipTap 内核,左侧写正文、右侧是大纲面板,支持 Markdown 快捷输入:

编辑器 已填写 - Halo 建站系统源码:单 jar 部署,内置 Java 21 和数据库

点右上角「发布」弹出文章设置面板,别名(URL 里的英文标题)是自动生成的,分类、标签、摘要、封面都在这设:

halo-09b-发布面板 - Halo 建站系统源码:单 jar 部署,内置 Java 21 和数据库

发布后回到文章列表,状态是「已发布」:

文章列表 已发布 - Halo 建站系统源码:单 jar 部署,内置 Java 21 和数据库

前台

前台默认主题叫 theme-earth,卡片式布局,首页有个「全部 / 分类」切换栏:

前台 首页 - Halo 建站系统源码:单 jar 部署,内置 Java 21 和数据库

文章详情页的排版很干净,标题、作者、阅读数、点赞、评论数都在,正文行距舒服:

前台 文章详情 - Halo 建站系统源码:单 jar 部署,内置 Java 21 和数据库

底部自带评论框,评论组件是内置插件,装好就有,不用额外配:

halo-12b-前台-文章底部评论 - Halo 建站系统源码:单 jar 部署,内置 Java 21 和数据库

关于页也是现成的版式:

前台 关于页 - Halo 建站系统源码:单 jar 部署,内置 Java 21 和数据库

暗色模式和搜索

这两样是我用下来觉得最省事的地方,都不用再装第三方东西。

顶栏右侧第一个图标就是暗色切换,点开三个选项:暗色、亮色、跟随系统:

前台 暗色切换菜单 - Halo 建站系统源码:单 jar 部署,内置 Java 21 和数据库

切到暗色不是简单反色,卡片阴影和背景层次都重算过:

前台 暗色首页 - Halo 建站系统源码:单 jar 部署,内置 Java 21 和数据库

halo-13b-前台-暗色文章 - Halo 建站系统源码:单 jar 部署,内置 Java 21 和数据库

选择存进浏览器,下次打开还是暗色;选了「跟随系统」的话,晚上系统切深色网站也跟着切。

搜索在顶栏放大镜,弹出来是命令面板那种风格:

前台 搜索弹窗 - Halo 建站系统源码:单 jar 部署,内置 Java 21 和数据库

结果带摘要、命中词高亮,回车直接跳转:

halo-18b-前台-搜索结果 - Halo 建站系统源码:单 jar 部署,内置 Java 21 和数据库

索引是内置插件建的,文章发出去就自动进库,不用手动重建。

手机端(375px 模拟)适配得很完整,顶栏收起成图标,hero 区、卡片、字号都跟着调:

移动端 首页 - Halo 建站系统源码:单 jar 部署,内置 Java 21 和数据库

移动端 首页列表 - Halo 建站系统源码:单 jar 部署,内置 Java 21 和数据库

移动端 文章 - Halo 建站系统源码:单 jar 部署,内置 Java 21 和数据库

说缺点(重要)

好话说完了,后面都是我自己用下来真实感受到的短板:

1. JDK 版本卡得很死。 Halo 2.21 以后必须 JDK 21,官网只发 jar 不提供免环境版本。我这次内置了运行时帮你跳过这一步,但你要在服务器上部署,还是得自己装 JDK21——对不懂命令行的朋友,这一关比 WordPress 传 FTP 要难。

2. Java 程序吃内存。 启动就占几百 MB,我给它配了 512MB 堆内存,机器内存紧的话会有点吃力。1G 内存的小鸡能跑,但不宽裕。这也是它启动要十几秒的原因,不是「秒开」那种体验。

3. 主题生态比 WordPress 差一个量级。 官方应用市场加主题社区加起来几百款,WordPress 是几万款。好在 Halo 的主题质量整体更整齐,不会像 WP 那样翻出一堆上古主题;但你要找某个特别小众的行业模板,可能真没有。

4. 默认用 H2 数据库,数据在文件夹里。 单机自用完全没问题,打算迁移服务器或者多人协作,最好切到 PostgreSQL / MySQL(支持,配置一下就行)。另外记得定期备份 data 文件夹,它是你全部的数据。

5. 应用市场不等于什么都有。 插件数量比 WordPress 少得多,而且 Halo 2 的插件是 Java 写的,想自己改得有 Spring 基础。WP 那边随便找个 PHP 片段就能魔改的路子,在这走不通。

常见问题

源码获取

本文实测用的完整包(官方 jar + 内置精简 Java 运行时 + 源码 + GPL-3.0 协议文件,解压双击即用):

两个小提醒:

  1. 建议先「转存到自己网盘」再下载——直接下载的链接容易失效,转存后就是你自己的了,随时能下;
  2. 手机上操作:点开链接 → 右下角「保存到网盘」→ 回夸克 App 的「我的网盘」里下载。

自己动手的成本:官方只发一个 jar,你机器上得有对的 JDK 版本,还得自己配数据库、改端口、对启动参数。上面记的那些坑,一个都省不了。包里是我这边全部跑通之后才打的,双击就能看到后台长什么样。

包里还放了两样东西:halo-2.27.0.jar.sha256 校验文件(可以自己核对官方原版有没有被动过),和完整源码包,想研究的可以对照着看。

装之前先确认两件事:机器至少 1G 内存(Java 吃内存)、8090 端口没被占。用我这个包的话,Java 不用自己装。

实测说明

本文截图全部来自本站实测环境(源码湾 yuanmawan.com),实测版本 Halo v2.27.0,许可证 GPL-3.0。

© 版权声明
THE END
喜欢就支持一下吧
点赞 0 分享 收藏
评论 共2条
OωO
取消