From 0027f55184ed6a7790bab03907fb6dc4ed72b399 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=AE=B8=E6=99=93=E4=B8=9C?= <763795151@qq.com> Date: Wed, 30 Jul 2025 20:57:56 +0800 Subject: [PATCH] =?UTF-8?q?windows=E5=90=AF=E5=8A=A8=E8=84=9A=E6=9C=AC?= =?UTF-8?q?=E6=94=AF=E6=8C=81=E4=BB=BB=E6=84=8F=E8=B7=AF=E5=BE=84=EF=BC=8C?= =?UTF-8?q?=E5=A2=9E=E5=8A=A0PowerShell=E5=90=AF=E5=8A=A8=E8=84=9A?= =?UTF-8?q?=E6=9C=AC.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 2 +- assembly.xml | 1 + bin/start.bat | 42 ++++++++++++++++++++++++++++++++++++------ bin/start.ps1 | 41 +++++++++++++++++++++++++++++++++++++++++ 4 files changed, 79 insertions(+), 7 deletions(-) create mode 100644 bin/start.ps1 diff --git a/README.md b/README.md index a34eed9..92712c4 100644 --- a/README.md +++ b/README.md @@ -34,7 +34,7 @@ github下载慢也可以试试从gitee下载,点击下载[gitee来源kafka-con ## 快速使用 ### Windows 1. 解压缩zip安装包 -2. 进入bin目录(必须在bin目录下),双击执行`start.bat`启动 +2. 进入bin目录, 双击执行`start.bat`启动; 如果使用PowerShell, 也可以选择运行`start.ps1`启动 3. 停止:直接关闭启动的命令行窗口即可 ### Linux或Mac OS diff --git a/assembly.xml b/assembly.xml index b3a13a1..9e9b7e7 100644 --- a/assembly.xml +++ b/assembly.xml @@ -23,6 +23,7 @@ *.sh *.bat + *.ps1 bin 0755 diff --git a/bin/start.bat b/bin/start.bat index db6c1f6..a9b55ce 100644 --- a/bin/start.bat +++ b/bin/start.bat @@ -1,8 +1,38 @@ +@echo off + rem MAIN_CLASS=org.springframework.boot.loader.JarLauncher rem JAVA_HOME=jre1.8.0_66 -set JAVA_CMD=%JAVA_HOME%\bin\java -set JAVA_OPTS=-Xmx512m -Xms512m -Xmn256m -Xss256k -Dfile.encoding=utf-8 -set CONFIG_FILE=../config/application.yml -set TARGET=../lib/kafka-console-ui.jar -set DATA_DIR=.. -"%JAVA_CMD%" -jar %TARGET% --spring.config.location=%CONFIG_FILE% --data.dir=%DATA_DIR% + +setlocal enabledelayedexpansion + +set "BIN_DIR=%~dp0" +if not "%BIN_DIR:~-1%"=="\" set "BIN_DIR=%BIN_DIR%\" + +set "BASE_DIR=%BIN_DIR%.." +for %%I in ("%BASE_DIR%") do set "BASE_DIR=%%~fI" + +if defined JAVA_HOME ( + set "JAVA_CMD=%JAVA_HOME%\bin\java" +) else ( + echo ERROR: JAVA_HOME is not defined + exit /b 1 +) + +set "JAVA_OPTS=-Xmx512m -Xms512m -Xmn256m -Xss256k -Dfile.encoding=utf-8" + +set "CONFIG_FILE=%BASE_DIR%\config\application.yml" +set "TARGET=%BASE_DIR%\lib\kafka-console-ui.jar" +set "DATA_DIR=%BASE_DIR%" +set "LOG_HOME=%BASE_DIR%" + +if not exist "%TARGET%" ( + echo ERROR: Jar file not found at [%TARGET%] + exit /b 1 +) +if not exist "%CONFIG_FILE%" ( + echo WARNING: Config file not found at [%CONFIG_FILE%] +) + +"%JAVA_CMD%" %JAVA_OPTS% -jar "%TARGET%" --spring.config.location="%CONFIG_FILE%" --data.dir="%DATA_DIR%" --logging.home="%LOG_HOME%" + +endlocal \ No newline at end of file diff --git a/bin/start.ps1 b/bin/start.ps1 new file mode 100644 index 0000000..6c6361c --- /dev/null +++ b/bin/start.ps1 @@ -0,0 +1,41 @@ +# PowerShell +# Set the script execution policy. If necessary, execute this command in PowerShell and then run the script. +# Set-ExecutionPolicy Bypass -Scope Process -Force + +param() + +$BIN_DIR = $PSScriptRoot +if (-not $BIN_DIR.EndsWith('\')) { + $BIN_DIR += '\' +} + +$BASE_DIR = (Get-Item (Join-Path $BIN_DIR "..")).FullName + +if (-not $env:JAVA_HOME) { + Write-Error "ERROR: JAVA_HOME is not defined" + exit 1 +} + +$JAVA_OPTS = "-Xmx512m -Xms512m -Xmn256m -Xss256k -Dfile.encoding=utf-8" + +$CONFIG_FILE = Join-Path $BASE_DIR "config\application.yml" +$TARGET = Join-Path $BASE_DIR "lib\kafka-console-ui.jar" +$DATA_DIR = $BASE_DIR +$LOG_HOME = $BASE_DIR + +if (-not (Test-Path $TARGET -PathType Leaf)) { + Write-Error "ERROR: Jar file not found at [$TARGET]" + exit 1 +} + +if (-not (Test-Path $CONFIG_FILE -PathType Leaf)) { + Write-Warning "WARNING: Config file not found at [$CONFIG_FILE]" +} + +$javaCmd = Join-Path $env:JAVA_HOME "bin\java.exe" + +& $javaCmd $JAVA_OPTS.Split() ` + -jar $TARGET ` + "--spring.config.location=$CONFIG_FILE" ` + "--data.dir=$DATA_DIR" ` + "--logging.home=$LOG_HOME" \ No newline at end of file