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

📅 2026/8/21 18:09:33
jcalaBlog打包上线全流程:从Gradle构建到服务器部署的完整指南
jcalaBlog打包上线全流程从Gradle构建到服务器部署的完整指南【免费下载链接】jcalaBlog项目地址: https://gitcode.com/gh_mirrors/jca/jcalaBlogjcalaBlog打包上线其实没有想象中那么难。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 8MySQL5.7数据库也可用项目自带的 Docker 镜像Gradle无需单独安装项目内置 gradlew 包装脚本Gradle 5.0Lombok需安装插件编译时自动生成 getter/setterIDE 需装对应插件获取源码非常简单直接克隆仓库即可git clone https://gitcode.com/gh_mirrors/jca/jcalaBlog克隆完成后项目根目录下就能看到gradlew、build.gradle、docker-compose.yml等关键文件。其中docker-compose.yml里已经内置了 MySQL 5.7.17 的容器配置root 密码为 root本地调试时可以免去手动装数据库的麻烦。三、本地先跑起来开发环境的快速验证正式打包前强烈建议先在本地把项目跑通一次避免把环境问题带到服务器上。第一步创建数据库。项目默认连接名为jcala_blog的数据库连接配置在src/main/resources/application-dev.yml中。开发模式下 Spring Boot 会自动执行import.sql和data.sql完成建表与初始数据导入所以你只需在 MySQL 里建好空库即可。第二步启动项目。打开src/main/java/me/jcala/blog/Application.java直接运行 main 方法或者在项目根目录执行./gradlew bootRun启动成功后访问http://localhost:8080就能看到博客首页。后台管理入口为http://localhost:8080/admin初始账号密码是admin / admin。本地验证通过后就可以放心进入下一环节Gradle 构建打包。四、核心打包命令用 Gradle 构建可执行 JarjcalaBlog 使用 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-serverutf8然后重启 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.yml的pic.home配置项中上线前请改成服务器上的真实路径否则后台传图会失败。六、上传并启动java -jar 一键部署一切就绪后把build/libs/app.jar上传到服务器任意目录例如/opt/jcalaBlog/然后执行启动命令java -jar app.jar --spring.profiles.activeprod--spring.profiles.activeprod会强制加载生产配置让服务以 80 端口、生产参数运行。想要后台常驻并记录日志推荐这样启动nohup java -jar app.jar --spring.profiles.activeprod blog.log 21 启动完成后直接在浏览器访问服务器 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),仅供参考