代码提交

This commit is contained in:
张家训
2026-06-16 17:41:14 +08:00
parent 089558ddcd
commit a641796a0b
19 changed files with 99 additions and 230 deletions
+74
View File
@@ -0,0 +1,74 @@
@echo off
chcp 65001 >nul
setlocal enabledelayedexpansion
:: ============================================
:: WorkUtils 生产打包脚本
:: 输出:target\dist\workutils-v{version}.zip(含 exe + jar + bat + config)
:: ============================================
::: 切换到项目根目录
cd /d "%~dp0.."
set PROJECT_DIR=%CD%
set TARGET=%PROJECT_DIR%\target
set DIST=%TARGET%\dist
set VERSION=
echo.
echo ========== WorkUtils 生产构建 ==========
echo.
:: 1. 杀掉可能占用 target 的进程
echo [1/4] 清理残留进程...
taskkill /f /im java.exe 2>nul
taskkill /f /im workutils.exe 2>nul
:: 2. Maven 打包
echo.
echo [2/4] Maven 编译打包...
call "%PROJECT_DIR%mvnw.cmd" clean package -DskipTests -q
if %errorlevel% neq 0 (
echo [ERROR] Maven 打包失败!
pause
exit /b 1
)
:: 3. 提取版本号
for /f "tokens=2 delims=>" %%i in ('findstr /c:"<version>" "%PROJECT_DIR%pom.xml" ^| findstr /v "xml" ^| findstr /n "1" ^| findstr "1:"') do (
for /f "tokens=1 delims=<" %%v in ("%%i") do set VERSION=%%v
)
if "%VERSION%"=="" set VERSION=0.0.1-SNAPSHOT
:: 4. 准备发布目录
echo.
echo [3/4] 组装发布包...
if exist "%DIST%" rd /s /q "%DIST%"
mkdir "%DIST%\workutils" 2>nul
copy /y "%TARGET%\workutils.exe" "%DIST%\workutils\" >nul
copy /y "%TARGET%\workutils-%VERSION%.jar" "%DIST%\workutils\" >nul
:: 生成发布用的启动脚本(JAR 在同一个目录下)
>"%DIST%\workutils\start.bat" (
echo @echo off
echo chcp 65001 ^>nul
echo title WorkUtils
echo java -jar "%%~dp0workutils-%VERSION%.jar" %%*
echo pause
)
:: 打包成 zip(保留 workutils 目录结构)
set ZIPNAME=workutils-v%VERSION%
powershell -Command "Compress-Archive -Path '%DIST%\workutils' -DestinationPath '%DIST%\%ZIPNAME%.zip' -Force"
:: 5. 完成
echo.
echo [4/4] 构建完成!
echo ============================================
echo 产物位置:
echo exe : target\workutils.exe
echo jar : target\workutils-%VERSION%.jar
echo zip : target\dist\%ZIPNAME%.zip
echo ============================================
echo.
pause