兼容性优化
This commit is contained in:
+52
-6
@@ -1,10 +1,56 @@
|
||||
@echo off
|
||||
chcp 65001 > nul
|
||||
title workutils
|
||||
chcp 65001 >nul
|
||||
title WorkUtils
|
||||
|
||||
:: 切到脚本所在目录的父目录(即项目根目录)
|
||||
:: 当脚本在 scripts/ 时 → 项目根;在 target/ 时 → 项目根
|
||||
cd /d "%~dp0.."
|
||||
|
||||
:: 从 pom.xml 读取版本号
|
||||
set "VERSION="
|
||||
for /f "usebackq delims=" %%a in (`powershell -NoProfile -NonInteractive -Command "([xml](Get-Content -Encoding UTF8 '%CD%\pom.xml')).project.version"`) do set "VERSION=%%a"
|
||||
if "%VERSION%"=="" set "VERSION=0.0.1-SNAPSHOT"
|
||||
|
||||
:: 优先匹配版本号精确的 JAR,找不到回退通配符
|
||||
set "JAR="
|
||||
if exist "target\workutils-%VERSION%.jar" set "JAR=target\workutils-%VERSION%.jar"
|
||||
if "%JAR%"=="" for %%j in ("target\workutils-*.jar") do set "JAR=%%j"
|
||||
if "%JAR%"=="" (
|
||||
echo [ERROR] JAR not found in target\ Run build_release.bat first.
|
||||
pause & exit /b 1
|
||||
)
|
||||
|
||||
:: ======== 查找可用的 Java 17+ ========
|
||||
set "JAVA_EXE="
|
||||
|
||||
:: 1) 优先用 jlink 生成的内嵌 JRE(运行过 build_release.bat 后产生)
|
||||
if exist "target\jre\bin\java.exe" set "JAVA_EXE=target\jre\bin\java.exe"
|
||||
|
||||
:: 2) 检查 JDK17_HOME 环境变量
|
||||
if "%JAVA_EXE%"=="" if defined JDK17_HOME if exist "%JDK17_HOME%\bin\java.exe" set "JAVA_EXE=%JDK17_HOME%\bin\java.exe"
|
||||
|
||||
:: 3) 检查 JAVA_HOME(可能是 JDK 17)
|
||||
if "%JAVA_EXE%"=="" if defined JAVA_HOME if exist "%JAVA_HOME%\bin\java.exe" set "JAVA_EXE=%JAVA_HOME%\bin\java.exe"
|
||||
|
||||
:: 4) 回退到 PATH 上的 java
|
||||
if "%JAVA_EXE%"=="" set "JAVA_EXE=java"
|
||||
|
||||
:: 检查 Java 版本是否 ≥ 17
|
||||
for /f "tokens=3" %%v in ('"%JAVA_EXE%" -version 2^>^&1 ^| findstr /i "version"') do set "JAVA_VER=%%~v"
|
||||
for /f "tokens=1 delims=." %%m in ("%JAVA_VER%") do set "MAJOR=%%m"
|
||||
if "%MAJOR%"=="1" for /f "tokens=2 delims=." %%m in ("%JAVA_VER%") do set "MAJOR=%%m"
|
||||
if %MAJOR% LSS 17 (
|
||||
echo [ERROR] Java %JAVA_VER% found. WorkUtils requires Java 17+.
|
||||
echo Path: %JAVA_EXE%
|
||||
echo Download JDK 17+ from https://adoptium.net/
|
||||
pause & exit /b 1
|
||||
)
|
||||
|
||||
echo ====================================
|
||||
echo workutils 系统工具集
|
||||
echo 控制台编码: UTF-8 (65001)
|
||||
echo WorkUtils v%VERSION%
|
||||
echo Java: %JAVA_VER% ^( %JAVA_EXE% ^)
|
||||
echo ====================================
|
||||
echo.
|
||||
cd /d "%~dp0"
|
||||
java -jar target\workutils-0.0.2-SNAPSHOT.jar
|
||||
|
||||
"%JAVA_EXE%" -Dfile.encoding=UTF-8 -jar "%JAR%" %*
|
||||
if %errorlevel% neq 0 pause
|
||||
|
||||
Reference in New Issue
Block a user