| 版本 | 发布时间 | 说明 | 作者 |
|---|---|---|---|
| v1.0 | 2015-9-30 | 文档初始化 | @94fzb |
| v1.1 | 2016-3-22 | 加入插件拦截的请求路径 | @94fzb |
| v1.2 | 2018-3-27 | —— | @94fzb |
| v1.3 | 2021-10-17 | 调整技术方案 | @94fzb |
| v1.4 | 2024-02-02 | 1. 无需Servlet容器 2. JDK 版本须 >=21 |
@94fzb |
对,没了,这里你不会看到,仅因为做一个简单的检索,就要搞个 elasticsearch 有或者是 lucene/solr ,为了做个数据缓存就要去安装一个 redis,为了写文章能发到微信公众号,你可能还需要去学习下微信公众号的开发使用,或者接入一些奇奇怪怪的第三方服务
由于 ZrLog 使用的未使用标准的 Servlet 容器,所以即使你使用记事本也可以进行开发的(开心就好),甚至你还可以用 vscode ,当然这里推荐使用 idea,如果觉得没钱买专业版本,有觉得用盗版过意不去,那么选择 idea 社区版本也是完全可以的
Add as a maven project
提供了两种方式启动程序
通常有调试需求用第一种方式,平时进行开发使用第二种(这里要论一块 SSD 的重要性了)
很多网友还会认为程序没有使用数据库,这简直是个天大的误会呀,之所以你能启动 main 就可以看到一个正常运行的程序,那完全是应为有意而为之的(方便有开发能力的朋友一眼就清楚理解是不是自己想要的东西呀)
所以你要自己的数据库,需要做的是自己安装 MySQL ,然后为程序创建一个数据库,再然后删除项目里面的 install.lock 文件,然后访问程序,程序内置的安装向导回引导你完成数据库初始化的,然后你可以定制自己的需求

为了防止编写代码的时候出现在 common 里面调用 dao 的方法,所以基本依赖关系就是,web->service->data->common 这样的单向依赖
由于只是单用户博客系统,设计之初就没有太多的权限控制
ZrLog 只有2种用户模式(需要登录的,和访客模式)
install.lock 文件控制访问) (React)目前得写 ftl 模版了,都是简单的几行代码就行了,会 <c:if></c:if>,${log.content} 这种基础语法就够了
为了方便广大的程序使用者都能轻松使用到最新的 ZrLog,所以提供了在线升级的功能,理论支持所有操作系统,升级仅支持非 Docker 模式下,通过 JarUpdater 实现(当然也要注意万恶的 window 文件锁问题,如果升级失败可自己手动停止程序,解压最新的 zip 包,后再启动)
理论上这张表是存放程序相关设置的表的,理解为一个巨型的字典(Map)就可以了,如果你需要扩展设置,推荐直接使用这张表,比如现在于插件相关的信息都是存放在这张表里面的
ZrLog 使用 zip 进行发布,所以仅需要使用 maven 打包 zip(mvn clean install),并上传到对应的服务器上面就可以了,甚至你可以自己利用 Jenkins 进行持续集成都是没有问题的,唯一要注意的是如果想发布过程中不出现中断,注意好代码里面的资源释放就可以,如果你还做了区分环境也仅需要将对应环境的 db.properties 的压缩打 zip 里面
当然,除了上面一种方式,成为程序的开发者,就是把改动的代码合并到 zrlog/master 的主干分支上面
ZrLog 从一开始就把程序定位简洁,小巧,实用,旨在输出内容,而不是在程序的使用上
JSON API 主要用于非网页展示,用于客户端程序开发定制