news 2026/8/21 18:09:27

jcalaBlog打包上线全流程:从Gradle构建到服务器部署的完整指南

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
jcalaBlog打包上线全流程:从Gradle构建到服务器部署的完整指南

jcalaBlog打包上线全流程:从Gradle构建到服务器部署的完整指南

【免费下载链接】jcalaBlog项目地址: https://gitcode.com/gh_mirrors/jca/jcalaBlog

jcalaBlog打包上线,其实没有想象中那么难。jcalaBlog 是一款基于 Spring Boot + MyBatis + Velocity 构建的开源个人博客系统,自带后台管理、Markdown 编辑、黑夜模式、标签归档等功能,非常适合用来学习完整的 Java Web 项目部署流程。本文面向刚接触 Spring Boot 的开发者,以"本地跑通 → Gradle 构建 → 服务器部署"为主线,用最少的代码、最清晰的步骤,带你走完 jcalaBlog 打包上线全流程,让博客真正跑在公网服务器上。

一、先认识 jcalaBlog:开箱即用的个人博客系统

在动手部署之前,先花一分钟了解这个项目。jcalaBlog 的技术选型非常经典,几乎涵盖了 Java Web 开发的常用组件:

分类技术选型作用
框架Spring Boot + Spring MVC核心 MVC 框架
Web 容器Undertow高性能容器,打包后随 Jar 一起运行
ORMMyBatis数据持久层
模板引擎Velocity服务端页面渲染
缓存Ehcache页面与数据缓存
定时任务Quartz定时处理任务
编辑器editor.md后台 Markdown 写作
数据库MySQL数据存储

项目自带了一键黑夜模式、后台博客管理、Markdown 编辑器等完整功能,前端页面也已经全部写好,我们部署阶段完全不需要改动业务代码,只需要关注构建、配置和运行这三件事。

二、打包前的准备工作:环境与源码获取

开始之前,请确认本地环境满足以下最低要求:

依赖版本要求说明
JDK1.8项目源码编译目标为 Java 8
MySQL5.7数据库,也可用项目自带的 Docker 镜像
Gradle无需单独安装项目内置 gradlew 包装脚本(Gradle 5.0)
Lombok需安装插件编译时自动生成 getter/setter,IDE 需装对应插件

获取源码非常简单,直接克隆仓库即可:

git clone https://gitcode.com/gh_mirrors/jca/jcalaBlog

克隆完成后,项目根目录下就能看到gradlewbuild.gradledocker-compose.yml等关键文件。其中docker-compose.yml里已经内置了 MySQL 5.7.17 的容器配置(root 密码为 root),本地调试时可以免去手动装数据库的麻烦。

三、本地先跑起来:开发环境的快速验证

正式打包前,强烈建议先在本地把项目跑通一次,避免把环境问题带到服务器上。

第一步,创建数据库。项目默认连接名为jcala_blog的数据库(连接配置在src/main/resources/application-dev.yml中)。开发模式下 Spring Boot 会自动执行import.sqldata.sql完成建表与初始数据导入,所以你只需在 MySQL 里建好空库即可。

第二步,启动项目。打开src/main/java/me/jcala/blog/Application.java,直接运行 main 方法,或者在项目根目录执行:

./gradlew bootRun

启动成功后访问http://localhost:8080,就能看到博客首页。后台管理入口为http://localhost:8080/admin,初始账号密码是admin / admin

本地验证通过后,就可以放心进入下一环节:Gradle 构建打包。

四、核心打包命令:用 Gradle 构建可执行 Jar

jcalaBlog 使用 Spring Boot 官方 Gradle 插件打包,build.gradle中已经通过jar { baseName = 'app' }指定了产物名称。执行构建命令:

./gradlew clean build

构建完成后,在build/libs/目录下会生成一个名为app.jar的可执行 Jar 包。这个 Jar 是"胖包",已经内嵌了 Undertow 容器、所有依赖和静态资源,单文件即可运行,这正是 Spring Boot 部署起来如此轻量的原因。

如果只想单独产出 Jar 而不跑测试,可以使用:

./gradlew bootJar

打包产物就是你要上传到服务器的那一个文件,这也是 jcalaBlog 打包上线全流程中最关键的一步。

五、服务器环境配置:数据库与生产参数

服务器端需要准备的软件与本地几乎一致:JDK 1.8、MySQL 5.7。这里有两个高频坑,提前帮你排掉:

  • 中文乱码:在 Linux 下编辑 MySQL 配置文件,在[mysqld]段添加character-set-server=utf8,然后重启 MySQL 服务;
  • 生产端口:生产配置application-prod.yml中默认监听 80 端口,无需 Nginx 反代也能直接访问。

接着创建数据库并导入项目根目录下docker-compose.yml对应的 MySQL 实例,或手动执行:

CREATE DATABASE jcala_blog DEFAULT CHARACTER SET utf8;

注意:生产配置中initialize: false,意味着不会像开发模式那样自动建表导数据,所以你需要在服务器上手动执行项目里的import.sql/data.sql完成初始化。

另外,图片上传的保存目录在application-prod.ymlpic.home配置项中,上线前请改成服务器上的真实路径,否则后台传图会失败。

六、上传并启动:java -jar 一键部署

一切就绪后,把build/libs/app.jar上传到服务器任意目录(例如/opt/jcalaBlog/),然后执行启动命令:

java -jar app.jar --spring.profiles.active=prod

--spring.profiles.active=prod会强制加载生产配置,让服务以 80 端口、生产参数运行。想要后台常驻并记录日志,推荐这样启动:

nohup java -jar app.jar --spring.profiles.active=prod > blog.log 2>&1 &

启动完成后,直接在浏览器访问服务器 IP 或已解析的域名,jcalaBlog 就正式上线了。以后每次更新,只需重新构建 Jar、覆盖文件、重启进程即可,整个发布周期可以控制在几分钟内。

七、常见问题排查清单

部署过程中如果遇到问题,先对照这张速查表:

现象原因与解决办法
页面中文乱码MySQL 未设置 utf8,按上文修改my.cnf后重启
80 端口被占用检查 nginx/apache 是否占用,或改用其他端口
报错没有 getter/setter缺少 Lombok,安装 IDE 插件或在构建机确认依赖完整
登录后台提示无表生产模式不会自动建表,手动执行import.sql初始化
后台传图失败检查pic.home指向的目录是否存在且有写权限

八、小结

回顾整个 jcalaBlog 打包上线流程,其实只有四步:本地跑通、Gradle 构建、服务器配库、java -jar启动。这个项目麻雀虽小、五脏俱全,非常适合作为你的第一个 Spring Boot 实战部署项目。照着本文走一遍,你不仅能拥有一个自己的博客站点,更能在实战中把构建、配置、部署这条链路彻底打通。

【免费下载链接】jcalaBlog项目地址: https://gitcode.com/gh_mirrors/jca/jcalaBlog

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/21 17:58:55

ncmdumpGUI:把网易云 ncm 文件批量转换成随处能放的 MP3

ncmdumpGUI:把网易云 ncm 文件批量转换成随处能放的 MP3 【免费下载链接】ncmdumpGUI C#版本网易云音乐ncm文件格式转换,Windows图形界面版本 项目地址: https://gitcode.com/gh_mirrors/nc/ncmdumpGUI 一 U 盘早年下好的 ncm 歌,车机…

作者头像 李华
网站建设 2026/8/21 17:58:30

零基础也能部署:HUIZHI-ChargeOS-cloud Docker一键部署实战教程

零基础也能部署:HUIZHI-ChargeOS-cloud Docker一键部署实战教程 【免费下载链接】HUIZHI-ChargeOS-cloud ⚡️慧知开源充电平台全套源码⚡️;⚡️完整业务流程⚡️; ①SpringCloud、MySQL、Netty、uniapp、云快充协议1.5 云快充协议1.6、互联互通协议、多…

作者头像 李华
网站建设 2026/8/21 17:50:03

让代码拥有表情:开源机器人 Reachy Mini 快速上手指南

让代码拥有表情:开源机器人 Reachy Mini 快速上手指南 【免费下载链接】reachy_mini Reachy Minis SDK 项目地址: https://gitcode.com/GitHub_Trending/re/reachy_mini 你有没有想过,一个桌面机器人不仅能执行指令,还能像宠物一样&qu…

作者头像 李华