跳到主要内容

如何从源码构建 JAR

SurveyKing 后端使用 Maven 构建。构建生成的单体 JAR 已包含前端页面,不需要再单独构建或启动前端服务。

如果只需要部署 SurveyKing,建议直接使用官方 JAR。需要修改源码或自行编译时,再按本文操作。

准备环境

  • Git;
  • JDK 8 或更高版本;
  • Maven 3;
  • 建议至少预留 2 GB 可用内存。

先确认环境:

git --version
java -version
mvn -version

java -version 最低可以是 Java 8,通常显示为 1.8mvn -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,生成的文件名会使用对应源码版本号。