首页 > 基础资料 博客日记
win自启动jar包两种方式
2024-03-18 05:00:06基础资料围观288次
文章win自启动jar包两种方式分享给大家,欢迎收藏Java资料网,专注分享技术知识
方式一
将jar包做成exe服务,可以实现自启动的方式。
方式二
将jar使用bat脚本启动,再通过vbs脚本控制bat脚本后台启动,避免黑窗口的出现,进行开启自启动。
方式一:服务模式
环境安装,电脑需要安装Microsoft.NETFramework 4,如果有的话可以不安装
将下载到两个文件放到jar包所在的目录中
重命名为和xxx.jar包同名的xxx.exe、xxx.xml两份文件
编辑xxx.xml文件
<service><!-- 删除服务时的w唯一ID标识 --><id>xxx</id><!-- 展示在服务列表里的名字 --><name>xxx</name><!-- 简介 --><description>xxx微服务</description><!-- JAVA环境变量 --><envname="JAVA_HOME"value="%JAVA_HOME%"/><executable>java</executable><!-- JAVA启动命令参数 由 java -jar path 决定 --><arguments>-jar "%BASE%\xxx.jar"</arguments><!-- 开机启动 --><startmode>Automatic</startmode><!-- 日志配置路径 --><logpath>%BASE%\log</logpath><logmode>rotate</logmode></service>复制代码
在当前目录中进入CMD黑窗口,执行xxx.exe install命令,这样服务中已经存在了
WIN+R输入services.msc,就可以看到以xxx名字命名的服务
CMD黑窗口其它命令
### 安装服务
xxx.exe install
### 重启服务
xxx.exe restart
### 停止服务
xxx.exe stop
### 卸载服务
xxxx.exe uninstall
复制代码
到此为止,已完成服务自启动功能,以下是为了方便,也可以使用bat脚本启动
启动服务,新建start.bat文件,并编辑内容
@ECHO OFF
setlocal EnableDelayedExpansion
color 3e
### 黑窗口标题(仅注释,实际需要删除此内容)
title xxx
PUSHD %~DP0 & cd /d "%~dp0"
%1 %2
mshta vbscript:createobject("shell.application").shellexecute("%~s0","goto :runas","","runas",1)(window.close)&goto :eof
:runas
### 安装服务命令(仅注释,实际需要删除此内容)
xxx.exe install
### 启动服务命令(仅注释,实际需要删除此内容)
net start xxx
echo 执行完毕,任意键退出
pause >nul
exit
复制代码
停止服务,新建stop.bat文件,并编辑内容
@ECHO OFF
setlocal EnableDelayedExpansion
color 3e
### 黑窗口标题(仅注释,实际需要删除此内容)
title xxx
PUSHD %~DP0 & cd /d "%~dp0"
%1 %2
mshta vbscript:createobject("shell.application").shellexecute("%~s0","goto :runas","","runas",1)(window.close)&goto :eof
:runas
### 停止服务命令(仅注释,实际需要删除此内容)
net stop xxx
### 卸载服务命令(仅注释,实际需要删除此内容),是否需要卸载根据实际情况决定
xxx.exe uninstall
echo 执行完毕,任意键退出
pause >nul
exit
复制代码
方式二:脚本
在jar包同级目录下新建start.bat和stop.bat文件,并编辑内容
启动start.bat内容编辑
:: 指定字符集utf-8
chcp 65001
@echo off
title 准备启动设备驱动...................
color 3E
start javaw -Dfile.encoding=utf-8 -jar xxx.jar
echo .
echo ------------ 正在启动 --------------
echo .
:: 10秒后启动完成
timeout /t 10
echo .
echo ------------ 启动成功 --------------
echo .
timeout /t 2
exit
复制代码
停止stop.bat内容编辑
chcp 65001
@echo off
title 停止设备驱动
color 3E
taskkill -f -t -im javaw.exe
echo .
echo ------------停止成功!--------------------
echo .
timeout /t 5
exit
复制代码
到了这一步,其实就可以实现后台启动了,但是并非开机自启动。想要实现还需创建init.vbs脚本执行,避免开启自启动时出现黑窗口
编辑init.vbs内容,最后的0表示cmd窗口隐藏运行,路径不要有中文
set ws=WScript.CreateObject("WScript.Shell")
ws.Run "目标路径\start.bat /start",0复制代码
通过WIN+R输入shell:startup,打开win自启动文件夹目录
最后,将init.vbs快捷方式直接放到自启动文件夹目录中,这样就可以实现开机自启动功能
文章来源:https://blog.csdn.net/BASK2312/article/details/129579953
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:jacktools123@163.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:jacktools123@163.com进行投诉反馈,一经查实,立即删除!
标签: