You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
slms/docs/SLMS_MultiAPP_Package_Tools.md

8.4 KiB

SLMS 四端应用打包工具配置指南

Smart Library Management System - Multi-Application Package Tools Guide

本文档提供 SLMS 四端应用CLI、GUI、Web、Android打包所需工具的详细安装步骤、配置方法和验证流程。

四端应用说明:

  • CLI 应用: 命令行界面,打包为 JAR
  • GUI 应用: 图形界面JavaFX打包为 JAR/EXE/MSI
  • Web 应用: Spring Boot Web打包为 WAR
  • Android 应用: 移动端,打包为 APK

相关文档:

  • SLMS_MultiAPP_Package.xml: Maven 打包配置CLI/GUI/Web
  • ATM流水线.md: CI/CD 流水线配置文档
  • Jenkinsfile: Jenkins 自动化构建脚本

一、CLI 应用打包 (JAR)

所需工具

  • JDK 21
  • Maven 3.9+

验证命令

java -version
mvn -version

测试打包

mvn clean package -P cli -DskipTests

预期输出: target/slms-cli.jar


二、GUI 应用打包 (EXE/MSI)

所需工具

  1. JDK 21 (包含 jpackage)
  2. WiX Toolset 3.11+ (用于生成 MSI)

2.1 安装 WiX Toolset

下载

安装步骤

  1. 运行 wix311.exe
  2. 选择安装路径: C:\Program Files (x86)\WiX Toolset v3.11
  3. 完成安装

配置环境变量

# 添加到系统 PATH
C:\Program Files (x86)\WiX Toolset v3.11\bin

重启命令行窗口使环境变量生效。

2.2 验证安装

# 验证 jpackage
jpackage --version

# 验证 WiX
candle.exe -?
light.exe -?

2.3 测试打包

打包为 EXE

# 先打包 JAR
mvn clean package -P gui -DskipTests

# 使用 jpackage 打包为 EXE
jpackage --input target ^
         --name SLMS-GUI ^
         --main-jar slms-gui.jar ^
         --type exe ^
         --win-console ^
         --dest target

预期输出: target/SLMS-GUI.exe

打包为 MSI

jpackage --input target ^
         --name SLMS-GUI ^
         --main-jar slms-gui.jar ^
         --type msi ^
         --win-console ^
         --dest target

预期输出: target/SLMS-GUI.msi


三、Web 应用打包 (WAR)

所需工具

  • JDK 21
  • Maven 3.9+
  • Spring Boot (已在 pom.xml 中配置)

验证命令

mvn -version

测试打包

mvn clean package -P web -DskipTests

预期输出: target/slms-web.war


四、Android 应用打包 (APK)

所需工具

  1. JDK 21
  2. Android SDK
  3. Gradle 8.5+

4.1 安装 Android SDK

方法一:通过 Android Studio

  1. 下载 Android Studio: https://developer.android.com/studio
  2. 安装并打开 Android Studio
  3. 通过 SDK Manager 安装:
    • Android SDK Platform 34
    • Android SDK Build-Tools 34.0.0
    • Android SDK Command-line Tools

方法二:命令行工具

  1. 下载 Command Line Tools: https://developer.android.com/studio#command-tools
  2. 解压到: D:\development\Android\cmdline-tools
  3. 使用 sdkmanager 安装组件:
sdkmanager "platform-tools" "platforms;android-34" "build-tools;34.0.0"

4.2 配置环境变量

# 设置 ANDROID_HOME
ANDROID_HOME=D:\development\Android

# 添加到 PATH
%ANDROID_HOME%\platform-tools
%ANDROID_HOME%\cmdline-tools\latest\bin

4.3 生成签名密钥

# 创建密钥存储目录
mkdir android\keystore

# 生成签名密钥
keytool -genkey -v ^
        -keystore android\keystore\slms-release.jks ^
        -keyalg RSA ^
        -keysize 2048 ^
        -validity 10000 ^
        -alias slms-key

记录密钥信息:

  • Keystore 密码: your-store-password
  • Key 别名: slms-key
  • Key 密码: your-key-password

4.4 配置 Gradle 签名

编辑 android/build.gradle:

android {
    signingConfigs {
        release {
            storeFile file("keystore/slms-release.jks")
            storePassword "your-store-password"
            keyAlias "slms-key"
            keyPassword "your-key-password"
        }
    }
    
    buildTypes {
        release {
            signingConfig signingConfigs.release
            minifyEnabled false
        }
    }
}

4.5 验证安装

# 验证 Android SDK
echo %ANDROID_HOME%

# 验证 Gradle
cd android
gradlew --version

4.6 测试打包

cd android

# 打包 Debug 版本
gradlew assembleDebug

# 打包 Release 版本(需要签名)
gradlew assembleRelease

预期输出:

  • Debug: android/build/outputs/apk/debug/android-debug.apk
  • Release: android/build/outputs/apk/release/android-release.apk

五、Jenkins 环境配置

5.1 配置全局环境变量

  1. 进入 Jenkins: http://localhost:8084
  2. Manage JenkinsConfigure System
  3. 找到 Global properties
  4. 勾选 Environment variables
  5. 添加以下变量:
JAVA_HOME = E:\2025-2026\GitAIOps\jdk
ANDROID_HOME = D:\development\Android
WIXSHARP_WIXDIR = C:\Program Files (x86)\WiX Toolset v3.11\bin

5.2 创建验证 Pipeline

在 Jenkins 中创建测试任务验证所有工具:

pipeline {
    agent any
    
    stages {
        stage('验证打包工具') {
            steps {
                bat '''
                    echo ========== 验证 Java ==========
                    java -version
                    javac -version
                    
                    echo ========== 验证 Maven ==========
                    mvn -version
                    
                    echo ========== 验证 jpackage ==========
                    jpackage --version
                    
                    echo ========== 验证 WiX Toolset ==========
                    candle.exe -?
                    light.exe -?
                    
                    echo ========== 验证 Gradle ==========
                    cd android
                    gradlew --version
                    cd ..
                    
                    echo ========== 验证 Android SDK ==========
                    echo %ANDROID_HOME%
                    dir "%ANDROID_HOME%"
                    
                    echo ========== 所有工具验证完成 ==========
                '''
            }
        }
    }
}

六、完整验证清单

验证步骤

  • JDK 21 已安装

    java -version
    # 输出: openjdk version "21.x.x"
    
  • Maven 已安装

    mvn -version
    # 输出: Apache Maven 3.9.x
    
  • jpackage 可用

    jpackage --version
    # 输出: 21.x.x
    
  • WiX Toolset 已安装

    candle.exe -?
    light.exe -?
    # 输出: WiX 工具帮助信息
    
  • Android SDK 已配置

    echo %ANDROID_HOME%
    # 输出: D:\development\Android
    
  • Gradle 可用

    cd android
    gradlew --version
    # 输出: Gradle 8.5
    
  • Android 签名密钥已生成

    dir android\keystore\slms-release.jks
    # 文件存在
    
  • Jenkins 环境变量已配置

    • JAVA_HOME
    • ANDROID_HOME
    • WIXSHARP_WIXDIR
  • 本地测试打包成功

    • CLI JAR:
    • GUI JAR:
    • GUI EXE:
    • Web WAR:
    • Android APK:

七、常见问题

问题 1: jpackage 命令找不到

原因: JDK 版本低于 14 或 PATH 未配置

解决:

# 确认 JDK 版本
java -version

# 确认 jpackage 路径
where jpackage

# 如果找不到,添加到 PATH
%JAVA_HOME%\bin

问题 2: WiX 工具找不到

原因: WiX 未安装或 PATH 未配置

解决:

# 检查安装路径
dir "C:\Program Files (x86)\WiX Toolset v3.11\bin"

# 添加到 PATH
C:\Program Files (x86)\WiX Toolset v3.11\bin

问题 3: Android SDK 找不到

原因: ANDROID_HOME 未设置

解决:

# 设置环境变量
setx ANDROID_HOME "D:\development\Android"

# 重启命令行窗口

问题 4: Gradle 构建失败

原因: Gradle 版本不兼容或依赖下载失败

解决:

# 清理 Gradle 缓存
cd android
gradlew clean

# 重新构建
gradlew assembleDebug --refresh-dependencies

八、下一步

完成所有工具安装和验证后:

  1. 更新 pom.xml 添加 profiles 配置
  2. 配置 android/build.gradle 签名信息
  3. 提交 Jenkinsfile 到仓库
  4. 推送到 Gitea 触发 Jenkins 构建
  5. 查看 Jenkins 构建日志验证四端打包

文档版本: 1.0
最后更新: 2025-11-20
维护者: SLMS 开发团队