如何讓W(xué)in10實(shí)現(xiàn)Java文件的開機(jī)自啟動(dòng)
一、問題描述
隨著入了Win10的坑,發(fā)現(xiàn)它最不能讓人忍受的一點(diǎn)就是強(qiáng)制系統(tǒng)更新,而且系統(tǒng)更新之頻繁,簡直不能忍。這就導(dǎo)致,對(duì)于一些想要一直運(yùn)行的Java文件,就會(huì)造成每次系統(tǒng)更新之后的重啟導(dǎo)致Java文件無法繼續(xù)運(yùn)行。
也有很多博客解決這個(gè)問題:創(chuàng)建一個(gè)bat文件,將快捷方式放到C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp目錄下,這個(gè)方式需要用戶登錄才能自啟動(dòng),不行;
利用Instsrv.exe(可以給系統(tǒng)安裝和刪除服務(wù))、Srvany.exe(可以讓程序以服務(wù)的方式運(yùn)行),看到這,就不想試了,太麻煩。
本文就以很簡單的程序?yàn)槔瑏韺?shí)現(xiàn)解決這個(gè)問題的過程?。。?/p>
二、問題解決
問題解決的途徑是創(chuàng)建計(jì)算機(jī)任務(wù)計(jì)劃程序。
三、準(zhǔn)備工作
例如:需要實(shí)現(xiàn)下面文件(CSDN.java)的開機(jī)啟動(dòng)。
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(); } } }
主要邏輯就是,在當(dāng)前目錄查找loginfo.log文件,如果不存在就重新創(chuàng)建一個(gè)。然后在該文件中寫入Hello World!。邏輯很簡單。
我們?nèi)绾蝸磉\(yùn)行這個(gè)java文件呢?在當(dāng)前目錄按住shift、右鍵,選擇在此處打開命令窗口,在命令行窗口中輸入命令:
javac CSDN.java java CSDN
順帶提一下,如果java文件中有中文字符,很可能會(huì)報(bào)錯(cuò),此時(shí)需要使用命令:
javac -encoding utf-8 CSDN.java java CSDN
如果java文件中含有System.out.println的程序,運(yùn)行完成還保留著java程序的運(yùn)行GUI窗口,顯然這不是我們想要的。此時(shí)可以使用javaw的方式來避免:
javac -encoding utf-8 CSDN.java javaw CSDN
四、bat文件
bat文件,類似于Linux系統(tǒng)下的shell腳本。它是一種批處理文件,是一種無格式的文本文件,它包含一條或多條命令。簡單的說,就是在bat文件里的內(nèi)容,運(yùn)行它,就相當(dāng)于將里面的命令全部挨個(gè)運(yùn)行了一遍。
創(chuàng)建一個(gè)CSDN.bat文件:@echo offstart java CSDNexit雙擊bat文件,就相當(dāng)于將java CSDN這一句在命令行里面敲了并運(yùn)行了一遍。
五、設(shè)置該bat文件開機(jī)自啟動(dòng)
1、右鍵計(jì)算機(jī)–>管理,選擇系統(tǒng)工具–>計(jì)劃任務(wù)程序;
2、選擇創(chuàng)建任務(wù),在彈出窗口中,輸入任務(wù)名稱,并選擇不管用戶是否登錄都要運(yùn)行–>使用最高權(quán)限運(yùn)行;
3、切換到觸發(fā)器頁面,開始任務(wù)選擇啟動(dòng)時(shí),勾選延遲任務(wù)時(shí)間(等待一些系統(tǒng)的初始化,避免出錯(cuò));
4、切換到操作頁面,操縱選擇啟動(dòng)程序,定位需要操作的bat文件,同時(shí)確定起始于的位置(也就是在那個(gè)目錄下啟動(dòng)命令行);
5、條件和設(shè)置頁面隨個(gè)人習(xí)慣進(jìn)行調(diào)整,最終輸入密碼進(jìn)行確認(rèn)。
如此就完成了該JAVA文件的開機(jī)自啟動(dòng)了,本文針對(duì)的是一個(gè)簡單的Java文件,如果是稍微復(fù)雜點(diǎn)的Java項(xiàng)目,可以將整個(gè)項(xiàng)目生成Jar文件,然后使用命令:java -jar CSDN.jar然后編寫相對(duì)應(yīng)的bat文件,再重新設(shè)置一遍任務(wù)計(jì)劃即可。
以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
JAVA面試題之緩存擊穿、緩存穿透、緩存雪崩的三者區(qū)別
當(dāng)服務(wù)器QPS比較高,并且對(duì)數(shù)據(jù)的實(shí)時(shí)性要求不高時(shí),往往會(huì)接入緩存以達(dá)到快速Response、降低數(shù)據(jù)庫壓力的作用,常用來做緩存的中間件如Redis等。本文主要介紹了JAVA面試時(shí)??嫉木彺鎿舸?、穿透、雪崩場(chǎng)景三者區(qū)別,有興趣的小伙伴可以看一下2021-11-11Springboot如何獲取配置文件application.yml中自定義的變量并使用
這篇文章主要介紹了Springboot中獲取配置文件(application.yml)中自定義的變量并使用,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-09-09IDEA調(diào)試功能使用總結(jié)(step?over/step?into/force?step?into/step?o
本文主要介紹了IDEA調(diào)試功能使用總結(jié)(step?over/step?into/force?step?into/step?out),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-07-07Java中 ? extends T 和 ? super&nb
本文主要介紹了Java中 ? extends T 和 ? super T的理解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-05-05SpringBoot整合Guava Cache實(shí)現(xiàn)全局緩存的示例代碼
這篇文章主要介紹了SpringBoot整合Guava Cache實(shí)現(xiàn)全局緩存,Guava Cache是Google Guava庫中的一個(gè)模塊,提供了基于內(nèi)存的本地緩存實(shí)現(xiàn),文中介紹了SpringBoot整合使用Guava Cache的具體步驟,需要的朋友可以參考下2024-03-03