目录
前言
最近在window下部署程序时需要做一个开机自启,没预料到会遇到那么多问题,尝试了几种方法最终还是选择了任务计划程序,使用这个任务计划程序也会遇到一些问题,本文会对配置window任务计划程序开机自启做详细讲解。
环境说明:我这里演示是用的win10,win7也差不多
一、前置问题说明
配置任务计划程序设置程序开机自启之前要注意几个问题,对于一般业务场景来说肯定是计算机重启后需要直接进入桌面,如果还需要登录的话就必须要人为操作了,这里需要做到不用手动登录,我的做法是把用户密码制空。
1.1、开机免密登录设置(如果没有设置密码直接跳过)
- 找到我的电脑或者此电脑右击选择属性 -> 在设置页面查找登录选项单击进入
- 点击登录选项找到密码,点击更改
- 如果之前有设置密码上一步会让输入密码,输入之后会让设置新密码,这里不设置直接下一页完成即可,设置好后登录就不需要密码了。
二、任务计划程序配置(配置开机自启exe程序)
2.1、创建基本任务
找到我的电脑或者此电脑右击选择管理-> 找到任务计划程序右击选择创建基本任务
2.2、设置任务名称
任意输入一个名称点击下一步
2.3、选择任务触发时机
选择计算机启动时,选择好后点击下一步
2.4、选择任务操作
默认选择启动程序,不用调整点击下一步
2.5、选择启动exe程序或者脚本
这里可以选择一个要启动的exe程序(快捷方式也可以)也可以选择一些自定义脚本,比如.bat脚本,后面会说如果启动自定义脚本,这里先启动自带的浏览器程序
2.6、完成基本任务创建
在这一步需要将 《当单机“完成”时,打开此任务属性的对话框》的选项勾选上,后面还要配置一些东西,勾选上点完成
2.7、配置任务属性
在上一步点击完成后会出现一个属性设置页,这里有两个东西要设置一下,先点击设置
2.8、配置任务属性设置
将设置中这个选项去掉,默认是选中的
2.9、配置触发器(核心)
- 接下来配置最核心的触发器,很多人遇到配置了开机自启但是程序并没有自启动就是因为这个没有配置
- 这里必须要设置一个触发器的延时时间,我这里设置了30s,如果不设置这个延时时间,在系统刚刚启动时就会执行任务,因为系统刚刚启动时还有一些资源是没有加载完成的,如果这个时候直接执行任务很大概率不会真的成功,所以这里必须要配置一个延时任务时间,配置好点击确认任务就完整创建成功,可以重启测试了
三、配置开机后台自启动java程序(所有程序都是相同的做法,通过bat脚本执行我们想要的操作即可)
这里需要借助.bat脚本来实现启动java程序,步骤和二中一模一样,就是在选择启动程序的时候选择自己写的.bat脚本即可,这里会节省相同步骤。
3.1、准备启动java程序bat脚本 start.bat
准备脚本时一定要注意一个问题,win的任务计划程序启动cmd的时候默认路径应该是C:\Users\Administrator
,我这里的jar包放在D盘了,在bat脚本中一定要先切换到jar包所在的目录,不然启动时找不到,不是脚本在那个目录就将那个目录作为作为当前目录,还有在java程序中一般都会配置日志输出,一般也会使用当前目录作为存储路径,如果不切换目录的话在C:\Users\Administrator
目录也是没有权限写日志的,所以这里切记先切换到自己需要的目录。
- 我这里会将jar包和启动脚本都放入
D:\worker\code
目录 - 创建start.bat脚本,将下面内容写入
@echo off
set port=8080
set jar_path=app.jar
D:
cd D:\worker\code
:: 前台启动 第一次测试时最好使用前台启动
:: start java -jar %jar_path% --server.port=%port%
:: 后台启动
start javaw -jar %jar_path% --server.port=%port%
exit
3.2、配置任务计划程序
这里只演示一个选择启动程序步骤