一、问题描述

随着入了Win10的坑,发现它最不能让人忍受的一点就是强制系统更新,而且系统更新之频繁,简直不能忍。这就导致,对于一些想要一直运行的Java文件,就会造成每次系统更新之后的重启导致Java文件无法继续运行。

也有很多博客解决这个问题:

  • 创建一个bat文件,将快捷方式放到C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp目录下,这个方式需要用户登录才能自启动,不行;

  • 利用Instsrv.exe(可以给系统安装和删除服务)、Srvany.exe(可以让程序以服务的方式运行),看到这,就不想试了,太麻烦。

 

本文就以很简单的程序为例,来实现解决这个问题的过程!!!

 

 

二、问题解决

问题解决的途径是创建计算机任务计划程序。

 

三、准备工作

例如:需要实现下面文件(CSDN.java)的开机启动。

 

import java.io.*;

/**

 * Created by Yngz_Miao on 2019/6/14.

 */

public class CSDN {

    public static void main(String[] args) {

        Writer wo = null;

        try {

            wo = new FileWriter("loginfo.log");

            wo.write("Hello World!\r\n");

            wo.flush();

        } catch (IOException e) {

            e.printStackTrace();

        }

    }

}

 

主要逻辑就是,在当前目录查找loginfo.log文件,如果不存在就重新创建一个。然后在该文件中写入Hello World!。逻辑很简单。

 

我们如何来运行这个java文件呢?在当前目录按住shift、右键,选择在此处打开命令窗口,在命令行窗口中输入命令:

javac CSDN.java

java CSDN

 

顺带提一下,如果java文件中有中文字符,很可能会报错,此时需要使用命令:

javac -encoding utf-8 CSDN.java

java CSDN

 

如果java文件中含有System.out.println的程序,运行完成还保留着java程序的运行GUI窗口,显然这不是我们想要的。此时可以使用javaw的方式来避免:

javac -encoding utf-8 CSDN.java

javaw CSDN

 

 

四、bat文件

bat文件,类似于Linux系统下的shell脚本。它是一种批处理文件,是一种无格式的文本文件,它包含一条或多条命令。

 

简单的说,就是在bat文件里的内容,运行它,就相当于将里面的命令全部挨个运行了一遍。创建一个CSDN.bat文件:

@echo off

start java CSDN

exit

 

双击bat文件,就相当于将java CSDN这一句在命令行里面敲了并运行了一遍。

 

五、设置该bat文件开机自启动

1、右键计算机–>管理,选择系统工具–>计划任务程序;

1.png

2、选择创建任务,在弹出窗口中,输入任务名称,并选择不管用户是否登录都要运行–>使用最高权限运行

2.png

3、切换到触发器页面,开始任务选择启动时,勾选延迟任务时间(等待一些系统的初始化,避免出错)

3.png

 

4、切换到操作页面,操纵选择启动程序,定位需要操作的bat文件,同时确定起始于的位置(也就是在那个目录下启动命令行)

4.png

 

5、条件和设置页面随个人习惯进行调整,最终输入密码进行确认

5.png

 

如此就完成了该JAVA文件的开机自启动了,本文针对的是一个简单的Java文件,如果是稍微复杂点的Java项目,可以将整个项目生成Jar文件,然后使用命令:

 

java -jar CSDN.jar

 

然后编写相对应的bat文件,再重新设置一遍任务计划即可。

 

喜欢的朋友点个赞呗!!!