windows运行jar包和开机自动启动

整理了一些在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 FilesJavajdk1.8.0_131
set CLASSPATH=.;%JAVA_HOME%libdt.jar;%JAVA_HOMe%lib	ools.jar;
set Path=%JAVA_HOME%in;

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:ProgramDataMicrosoftWindowsStart MenuProgramsStartUp
经验分享 程序员 微信小程序 职场和发展