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