如何从源码构建 JAR
SurveyKing 后端使用 Maven 构建。构建生成的单体 JAR 已包含前端页面,不需要再单独构建或启动前端服务。
如果只需要部署 SurveyKing,建议直接使用官方 JAR。需要修改源码或自行编译时,再按本文操作。
准备环境
- Git;
- JDK 8 或更高版本;
- Maven 3;
- 建议至少预留 2 GB 可用内存。
先确认环境:
git --version
java -version
mvn -version
java -version 最低可以是 Java 8,通常显示为 1.8。mvn -version 显示的 Java 版本也必须是 8 或更高版本。
1. 下载源码
从 Gitee 或 GitHub 选择一个地址:
使用 Gitee:
git clone http://gitee.com/surveyking/surveyking.git
或者使用 GitHub:
git clone https://github.com/javahuang/surveyking.git
两个地址的源码内容相同,选择访问速度更快的一个即可。
2. 使用 Maven 构建后端
进入后端目录:
cd surveyking/server
构建包含 H2 数据库支持的单体 JAR:
mvn clean package -Ph2 -DskipTests
参数说明:
clean:删除上一次构建结果;package:编译并打包;-Ph2:使用 H2 配置,适合直接运行和局域网部署;-DskipTests:跳过测试,加快构建速度。
如果需要在构建时执行测试,去掉 -DskipTests:
mvn clean package -Ph2
3. 查找构建结果
构建成功后,JAR 位于:
server/api/target/surveyking-v1.13.0.jar
如果当前终端仍在 surveyking/server,可以执行:
ls -lh api/target/surveyking-*.jar
源码分支的版本号可能不同,请以 api/target/surveyking-*.jar 中的实际文件名为准。不要使用文件名以 .original 结尾的文件。
4. 启动验证
在 surveyking/server 目录执行:
java -jar api/target/surveyking-v1.13.0.jar \
--spring.profiles.active=h2 \
--server.port=1991
看到应用启动完成后,访问:
http://127.0.0.1:1991/setup
能够打开初始化页面,说明 JAR 构建成功。按 Ctrl+C 停止测试进程。
需要把 JAR 部署到 Linux 服务器并配置开机启动时,继续阅读 Linux 手动部署。
常见问题
找不到 mvn 命令
说明 Maven 没有安装或没有加入 PATH。安装 Maven 后,重新执行 mvn -version。
Maven 使用的不是 JDK 8 或更高版本
以 mvn -version 显示的 Java 为准。修改 JAVA_HOME,确保 Maven 使用正确的 JDK。
依赖下载失败
确认构建电脑可以访问 Maven Central,然后重新执行构建命令。首次构建需要下载依赖,耗时会比后续构建更长。
找不到 surveyking-v1.13.0.jar
先检查 Maven 最后一段输出是否显示 BUILD SUCCESS,再执行:
find api/target -maxdepth 1 -name 'surveyking-*.jar' -type f
如果源码不是 v1.13.0,生成的文件名会使用对应源码版本号。