如何让Win10实现Java文件的开机自启动

 更新时间:2019年06月19日 10:16:58   作者:java菲  
这篇文章主要介绍了如何让Win10实现Java文件的开机自启动,对于一些想要一直运行的Java文件,就会造成每次系统更新之后的重启导致Java文件无法继续运行。,需要的朋友可以参考下

一、问题描述

随着入了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 offstart java CSDNexit双击bat文件,就相当于将java CSDN这一句在命令行里面敲了并运行了一遍。

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

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

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

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

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

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

如此就完成了该JAVA文件的开机自启动了,本文针对的是一个简单的Java文件,如果是稍微复杂点的Java项目,可以将整个项目生成Jar文件,然后使用命令:java -jar CSDN.jar然后编写相对应的bat文件,再重新设置一遍任务计划即可。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • Java gRPC拦截器简单实现分布式日志链路追踪器过程详解

    Java gRPC拦截器简单实现分布式日志链路追踪器过程详解

    有请求的发送、处理,当然就会有拦截器的需求,例如在服务端通过拦截器统一进行请求认证等操作,这些就需要拦截器来完成,今天松哥先和小伙伴们来聊一聊gRPC中拦截器的基本用法,后面我再整一篇文章和小伙伴们做一个基于拦截器实现的JWT认证的gRPC
    2023-03-03
  • mybatis一对多方式实现批量插入

    mybatis一对多方式实现批量插入

    这篇文章主要介绍了mybatis一对多方式实现批量插入,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-11-11
  • java线程池中Worker线程执行流程原理解析

    java线程池中Worker线程执行流程原理解析

    这篇文章主要为大家介绍了java线程池中Worker线程执行流程原理解析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-11-11
  • Java使用fastjson对String、JSONObject、JSONArray相互转换

    Java使用fastjson对String、JSONObject、JSONArray相互转换

    这篇文章主要介绍了Java使用fastjson对String、JSONObject、JSONArray相互转换,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-11-11
  • HandlerMapping之RequestMappingHandlerMapping作用详解

    HandlerMapping之RequestMappingHandlerMapping作用详解

    这篇文章主要介绍了HandlerMapping之RequestMappingHandlerMapping作用详解,HandlerMapping是用来寻找Handler的,并不与Handler的类型或者实现绑定,而是根据需要定义的,那么为什么要单独给@RequestMapping实现一个HandlerMapping,需要的朋友可以参考下
    2023-10-10
  • Java synchronized轻量级锁实现过程浅析

    Java synchronized轻量级锁实现过程浅析

    这篇文章主要介绍了Java synchronized轻量级锁实现过程,synchronized是Java里的一个关键字,起到的一个效果是"监视器锁",它的功能就是保证操作的原子性,同时禁止指令重排序和保证内存的可见性
    2023-02-02
  • Java设计模式之状态模式State Pattern详解

    Java设计模式之状态模式State Pattern详解

    这篇文章主要介绍了Java设计模式之状态模式State Pattern,状态模式允许一个对象在其内部状态改变的时候改变其行为。这个对象看上去就像是改变了它的类一样
    2022-11-11
  • java 最新Xss攻击与防护(全方位360°详解)

    java 最新Xss攻击与防护(全方位360°详解)

    这篇文章主要介绍了java 最新Xss攻击与防护(全方位360°详解),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-01-01
  • SSH框架网上商城项目第18战之过滤器实现购物登录功能的判断

    SSH框架网上商城项目第18战之过滤器实现购物登录功能的判断

    这篇文章主要为大家详细介绍了SSH框架网上商城项目第18战:过滤器实现购物登录功能的判断,感兴趣的小伙伴们可以参考一下
    2016-06-06
  • SpringBoot属性注入的多种方式实例

    SpringBoot属性注入的多种方式实例

    在 SpringBoot中,提供了一种新的属性注入方式,支持各种java基本数据类型及复杂类型的注入,下面这篇文章主要给大家介绍了关于SpringBoot属性注入的多种方式,需要的朋友可以参考下
    2021-10-10

最新评论