提示

一般情况下,为了保证版本一致性和可维护性,我们并不推荐自行构建和二次开发。

对java运行环境不熟悉的朋友请使用官方Docker方式部署,jar部署方式适用内存过小的设备和喜欢折腾的同学,本构建内容仅个人在windows上做过测试,具体说面见最后一段。
我会不定时分享自己构建的内容,不会大量测试也不参与问题修复和谈论🤝,仅作分享。

构建说明

采用官方2.3.2版本代码未作任何修改
源码来自:halo-dev/halo Console 构建过程
构建所用JDK为: Microsoft Build of OpenJDK 17.0.6 LTS

jar包下载

下载地址 分享密码:halo

里面的 halo-2.3.1-SNAPSHOT.jar 就是2.3.2版本的,文件名称不对的原因应该是源码中的版本号不一致造成的,为了保证原汁原味也就不做处理了

运行方式

使用内置数据库运行
java -Xms100m -Xmx1g -jar halo-2.3.1-SNAPSHOT.jar --spring.profiles.active=win --halo.work-dir=D:\xxx\work-dir --spring.r2dbc.url="r2dbc:h2:file:///D:/xxx/work-dir/db/halo-next?MODE=MySQL&DB_CLOSE_ON_EXIT=FALSE"

使用MySQL数据库方式
java -Xms100m -Xmx1g -jar halo-2.3.1-SNAPSHOT.jar --halo.work-dir=D:\xxx\work-dir --spring.profiles.active=mysql --spring.r2dbc.url=r2dbc:pool:mysql://127.0.0.1:3306/halo2?ssl=false --spring.r2dbc.username=halo --spring.r2dbc.password=xxyyzzxx --halo.security.initializer.superadminpassword=xxyyzzxx --halo.external-url=https://www.xxxx.com/

  • D:\xxx\work-dir 本地资源目录,推荐自行指定不然会被放入用户目录,win会放在C盘中
  • -Xms100m -Xmx1g 指定最大内存和最小内存,需要根据实际情况处理,可以删除此内容

其他方式自行研究,可以参考源码中的配置文件

测试环境说明

系统版本
Windows Server 2022 Datacenter 21H2

JDK版本
openjdk version "17.0.5" 2022-10-18
IBM Semeru Runtime Open Edition 17.0.5.0 (build 17.0.5+8)
Eclipse OpenJ9 VM 17.0.5.0
内存小访问量小的同学可以尝试以下这款OpenJ9,内存占用骤降三分之一,但是吞吐量会下降,根据情况来👍

    yahocen 不一定,主题和插件的版本校验都需要用到这个版本号,虽然目前对后缀 -SNAPSHOT -beta 等做了兼容,但还是和 Git Tag 的版本号保持一致好点。

    4 天 后

    非常感谢!为这个事情头疼了很久。
    Docker方面是小白、打包方面也是小白。
    但运维还是可以的。

    5 天 后

    老哥,idea打出来的jar包,运行提示没有主清单属性,求教如何解决、