整理了一些在windows系统常用的jar包运行批处理命令
执行文件:
新建一个.bat文件放置在jar包同目录下,如run.bat,根据需要编辑好命令双击运行就可以了。
运行jar文件(bat文件):
这种方式关闭窗口就会终止服务,服务器部署时建议用后台运行的方式
@echo off
java -jar xxxx.jar
pause
后台运行jar文件:
这种方式运行完就会自动关闭窗口后台运行,可以用jps命令查看程序的pid
@echo off
start javaw -jar xxxx.jar
exit
查看运行中的java程序(弹出窗口后双击对应的jar程序,查看pid):
jvisualvm
查看有权访问的hotspot虚拟机的进程(可查看pid):
jps
终止程序(10116为对应程序pid):
*/F是强制终止,/PID是通过程序pid终止*
TASKKILL /F /PID 10116
或者
*/IM是通过名字终止exe程序,对jar程序不管用,但也可以用pid*
TASKKILL /F /IM 10116
自动获取pid结束jar:
@echo off
setlocal enabledelayedexpansion
for /f "tokens=1" %%a in ('jps ^| findstr xxxx.jar') do taskkill /f /pid %%a
exit
先结束进程再启动:
@echo off
setlocal enabledelayedexpansion
for /f "tokens=1" %%a in ('jps ^| findstr xxxx.jar') do taskkill /f /pid %%a
start javaw -jar %cd%\xxxx.jar
exit
%cd%是获取当前路径,有个问题是,全路径执行在jps可以显示名称,但是在visualvm里面看不到程序
指定jdk版本运行:
在有多个jdk版本时使用
@echo off
set JAVA_HOME=C:\Program Files\Java\jdk1.8.0_131
set CLASSPATH=.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOMe%\lib\tools.jar;
set Path=%JAVA_HOME%\bin;
start javaw -jar %cd%\xxxx.jar
exit
批处理命令获取当前盘符和当前目录:
echo 当前盘符:%~d0
echo 当前路径:%cd%
echo 当前执行命令行:%0
echo 当前bat文件路径:%~dp0
echo 当前bat文件短路径:%~sdp0
查看端口号占用情况:
netstat -na
windows开机启动jar:
把bat批处理文件生成快捷方式放到以下目录,开机时就会自动执行bat文件启动jar服务
C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp