From 87355533b45eafd00760b3263fb54fe8dd213cb8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9F=AF=E6=85=95=E7=81=B5?= <1985312383@qq.com> Date: Wed, 11 Jun 2025 09:20:09 +0800 Subject: [PATCH] fix windows daemon.bat path configuration --- assembly/bin/supersonic-daemon.bat | 60 +++++++++++++++++++++++++----- 1 file changed, 50 insertions(+), 10 deletions(-) diff --git a/assembly/bin/supersonic-daemon.bat b/assembly/bin/supersonic-daemon.bat index 0b6b66789..388bb9748 100644 --- a/assembly/bin/supersonic-daemon.bat +++ b/assembly/bin/supersonic-daemon.bat @@ -20,7 +20,9 @@ if "%profile%"=="" ( set "model_name=%service%" -cd %baseDir% +REM fix path configuration - point to the correct release package directory +set "releaseDir=%buildDir%\supersonic-%service%-1.0.0-SNAPSHOT" +cd %releaseDir% if "%command%"=="restart" ( call :stop @@ -50,20 +52,58 @@ if "%command%"=="restart" ( :runJavaService echo 'java service starting, see logs in logs/' - set "libDir=%baseDir%\lib" - set "confDir=%baseDir%\conf" - set "webDir=%baseDir%\webapp" - set "logDir=%baseDir%\logs" - set "classpath=%baseDir%;%webDir%;%libDir%\*;%confDir%" - set "property=-Dfile.encoding=UTF-8 -Duser.language=Zh -Duser.region=CN -Duser.timezone=GMT+08 -Dspring.profiles.active=%profile%" - set "java-command=%property% -Xms1024m -Xmx2048m -cp %CLASSPATH% %MAIN_CLASS%" + echo 'Using release directory: %releaseDir%' + + REM use release package directory as base path + set "libDir=%releaseDir%\lib" + set "confDir=%releaseDir%\conf" + set "webDir=%releaseDir%\webapp" + set "logDir=%releaseDir%\logs" + + REM fix variable name matching problem + set "CLASSPATH=%releaseDir%;%webDir%;%libDir%\*;%confDir%" + set "MAIN_CLASS=%main_class%" + + REM add port configuration + set "property=-Dfile.encoding=UTF-8 -Duser.language=Zh -Duser.region=CN -Duser.timezone=GMT+08 -Dspring.profiles.active=%profile% -Dserver.port=9080" + set "java_command=%property% -Xms1024m -Xmx2048m -cp "%CLASSPATH%" %MAIN_CLASS%" + if not exist %logDir% mkdir %logDir% - start /B java %java-command% >nul 2>&1 - timeout /t 10 >nul + + REM check if the main jar file exists + if not exist "%libDir%\launchers-standalone-1.0.0-SNAPSHOT.jar" ( + echo "Error: Main jar file not found in %libDir%" + echo "Please make sure the application has been built and packaged correctly." + goto :EOF + ) + + echo 'Main Class: %MAIN_CLASS%' + echo 'Profile: %profile%' + echo 'Starting Java service...' + + REM start service and save logs + start /B java %java_command% > "%logDir%\supersonic.log" 2>&1 + timeout /t 15 >nul + + REM check service status + netstat -an | findstr ":9080" >nul + if errorlevel 1 ( + echo "Warning: Port 9080 is not listening" + echo "Please check the log file: %logDir%\supersonic.log" + if exist "%logDir%\supersonic.log" ( + echo "Recent log entries:" + powershell -Command "Get-Content '%logDir%\supersonic.log' | Select-Object -Last 10" + ) + ) else ( + echo "Service started successfully on port 9080" + echo "You can access the application at: http://localhost:9080" + ) + echo 'java service started' goto :EOF :stopJavaService + echo 'Stopping Java service...' for /f "tokens=2" %%i in ('tasklist ^| findstr /i "java"') do ( taskkill /PID %%i /F echo "java service (PID = %%i) is killed."