签出调整

This commit is contained in:
2025-11-27 17:10:08 +08:00
parent 1119d6a7a8
commit a6d1195f13
10 changed files with 61 additions and 291 deletions

View File

@@ -1,10 +0,0 @@
# 自动生成的配置文件
application.yml
# 运行时端口记录
.running-port
# 日志文件
logs/
*.log

View File

@@ -1,71 +1,20 @@
==========================================
NPQS9100 Java 后端服务说明
NPQS9100 Java 后端服务
==========================================
一、目录结构
目录说明
----------------------------------------
entrance.jar - Spring Boot 应用程序
application.yml - 应用配置文件(自动生成)
application.yml.template - 配置模板
kill-java-port.bat - 智能清理Java端口占用紧急用
.running-port - 运行时端口记录(自动生成,勿删除)
二、自动管理
服务管理
----------------------------------------
正常情况下,Java 后端服务由主应用自动管理:
- 应用启动时自动启动 Java 服务
- 应用关闭时自动停止 Java 服务
- 无需手动操作
三、端口智能管理
----------------------------------------
- Java 服务默认使用端口18092
- 如果 18092 被占用自动尝试18093, 18094, ...
- 启动成功后会记录实际端口到 .running-port 文件
- kill-java-port.bat 会自动识别正确的端口进行清理
四、手动清理工具
----------------------------------------
如果应用异常退出Java 进程可能残留,导致:
- 端口被占用,无法再次启动
- 可以运行 kill-java-port.bat 清理残留进程
使用方法:
1. 双击运行kill-java-port.bat
2. 脚本会自动识别实际使用的端口
3. 清理完成后即可重新启动应用
五、安全说明
----------------------------------------
⚠️ 进程停止安全性:
- 应用自动停止时,只会停止应用自己启动的 Java 进程
- 通过进程引用精确停止,不会影响其他 Java 应用
- kill-java-port.bat 只清理占用特定端口的进程
- 完全不会影响您电脑上的其他 Java 程序
⭐ 端口冲突处理:
- 如果您的电脑上有其他应用占用了 18092 端口
- 本应用会自动切换到其他端口18093, 18094...
- kill-java-port.bat 会自动识别实际端口,精确清理
六、常见问题
----------------------------------------
Q: Java 服务无法启动?
A: 运行 kill-java-port.bat 清理残留进程
Q: 端口被占用怎么办?
A: 应用会自动切换端口,无需手动处理
Q: 如何查看 Java 日志?
A: 启动应用后,日志窗口会实时显示 Java 输出
Q: 配置文件在哪里?
A: application.yml 由应用自动生成,请勿手动修改
Java 后端服务由主应用自动管理:
- 应用启动时自动启动
- 应用关闭时自动停止
- 默认端口18092如被占用会自动切换
==========================================

View File

@@ -1,115 +0,0 @@
@echo off
chcp 65001 >nul
color 0E
title 清理NPQS9100 Java端口占用
cls
echo ==========================================
echo 清理 NPQS9100 Java 端口占用
echo ==========================================
echo.
REM 获取Java目录脚本所在目录
set JAVA_HOME=%~dp0
cd /d "%JAVA_HOME%"
REM 读取实际运行的端口
set PORT_FILE=.running-port
set JAVA_PORT=
if exist "%PORT_FILE%" (
set /p JAVA_PORT=<"%PORT_FILE%"
echo [√] 检测到运行记录:端口 %JAVA_PORT%
echo.
) else (
echo [!] 未找到运行记录文件,使用默认端口 18092
echo.
set JAVA_PORT=18092
)
echo [1] 检查端口 %JAVA_PORT% 占用情况...
echo.
REM 查找占用该端口的连接
netstat -ano | findstr ":%JAVA_PORT%" > "%TEMP%\java_port.txt"
if %errorlevel% equ 0 (
echo 发现以下端口 %JAVA_PORT% 连接:
echo ----------------------------------------
type "%TEMP%\java_port.txt"
echo ----------------------------------------
echo.
echo [2] 提取进程ID并结束进程...
echo.
REM 提取所有LISTENING状态的PID
for /f "tokens=5" %%a in ('netstat -ano ^| findstr ":%JAVA_PORT%" ^| findstr "LISTENING"') do (
if not "%%a"=="0" (
echo 正在结束进程 PID: %%a
taskkill /F /PID %%a 2>nul
if errorlevel 1 (
echo [失败] 无法结束进程 %%a
) else (
echo [成功] 已结束进程 %%a
)
)
)
REM 如果还有其他状态的连接,也尝试结束
for /f "tokens=5" %%a in ('netstat -ano ^| findstr ":%JAVA_PORT%" ^| findstr /V "LISTENING"') do (
if not "%%a"=="0" (
echo 正在结束进程 PID: %%a
taskkill /F /PID %%a 2>nul
if errorlevel 1 (
echo [已结束或无权限] 进程 %%a
) else (
echo [成功] 已结束进程 %%a
)
)
)
echo.
echo [3] 清理完成
REM 等待2秒让进程完全释放
timeout /t 2 /nobreak >nul
echo.
echo [4] 再次检查端口 %JAVA_PORT%...
netstat -ano | findstr ":%JAVA_PORT%"
if errorlevel 1 (
echo [√] 端口 %JAVA_PORT% 已完全释放
REM 删除端口记录文件
if exist "%PORT_FILE%" (
del "%PORT_FILE%"
echo [√] 已清理端口记录文件
)
) else (
echo [!] 仍有连接存在可能是TIME_WAIT状态会自动释放
)
) else (
echo [√] 没有发现占用端口 %JAVA_PORT% 的进程
REM 删除端口记录文件
if exist "%PORT_FILE%" (
del "%PORT_FILE%"
echo [√] 已清理端口记录文件
)
)
REM 清理临时文件
if exist "%TEMP%\java_port.txt" del "%TEMP%\java_port.txt"
echo.
echo ==========================================
echo 清理完成
echo ==========================================
echo.
echo 说明:
echo - 此脚本只清理 NPQS9100 应用使用的 Java 端口
echo - 不会影响您电脑上的其他 Java 应用
echo.
pause