如何將java程序直接運行(生成.jar文件)
作者:xcbeyond
瘋狂源自夢想,技術(shù)成就輝煌!微信公眾號:《程序猿技術(shù)大咖》號主,專注后端開發(fā)多年,擁有豐富的研發(fā)經(jīng)驗,樂于技術(shù)輸出、分享,現(xiàn)階段從事微服務(wù)架構(gòu)項目的研發(fā)工作,涉及架構(gòu)設(shè)計、技術(shù)選型、業(yè)務(wù)研發(fā)等工作。對于Java、微服務(wù)、數(shù)據(jù)庫、Docker有深入了解,并有大量的調(diào)優(yōu)經(jīng)驗。
我們都知道,每次要運行java程序的時候,總是要打開elplise或者在DOS下敲命令來一步一步的運行,感覺很麻煩的,難道有沒有其他方法可以直接運行java程序嗎?就像c、c++一樣,可以直接運行.exe文件就可以直接運行,答案是肯定可以直接運行的,就是把java運行的相關(guān)東西打包起來,壓縮在一個.jar文件里,就可以了,下次運行的時候就可以直接點擊.jar文件來運行你的程序了。好了,還是講講如何直接將java文件生成.jar文件吧!,其實.jar文件相當(dāng)于我們平時所用的壓縮包WinRAR一樣,在此我就說說如何產(chǎn)生它吧:
例如我們編完一個程序,它生成了三個.class文件:Main.class, Philosopher.class, Chopsticks.class.
接下來把這三個文件放在同一個文件夾下,啟動cmd,進入到存放三個.class文件的那個目錄下.這里假設(shè)生成后的jar文件名為Test.jar,先運行 jar cvf Test.jar Main.class Philosopher.class Chopsticks.class
運行命令后得到以下輸出信息:
標明清單(manifest)
增加:Main.class(讀入= 4833) (寫出= 2541)(壓縮了 47%)
增加:Philosopher.class(讀入= 1857) (寫出= 1071)(壓縮了 42%)
增加:Chopsticks.class(讀入= 946) (寫出= 574)(壓縮了 39%)
在當(dāng)前目錄下會生成一個Test.jar的文件.接下來,用解壓縮工具(如WinRAR)解壓Test.jar,在解壓出來的文件中有一個名為
META-INF 的文件來,打開它后會看到名為 MANIFEST.MF 的文件,用記事打開它,在它的最后面加入一行,內(nèi)容為: Main-Class: Main
(說明:在Main-Class:和Main之間有個空格,行的末尾不能有多余的空格,也不在最后面有多余的空行)
Main-Class: 后面的內(nèi)容要按實際情況來寫,因為我這里的可執(zhí)行class文件名為Main.class,所以我才在后面寫Main. (程序運行的入口,即程序從哪個類開始運行)
假如你的可執(zhí)行class的名為HelloWorld.class,那么最后一行的內(nèi)容該寫為 Main-Class: HelloWorld
接下來,把修改好的MANIFEST.MF文件拷貝,放在以前的那個文件夾(就是放有Main.class, Philosopher.class, Chopsticks.class這三個文件的文件夾)下,那么現(xiàn)在該文件來下就有四個文件,分別為Main.class, Philosopher.class, Chopsticks.class 和MANIFEST.MF.
在cmd中進入到那個文件夾目錄,運行以下命令,這里假設(shè)要生成的jar文件還叫做Test.jar,你也可用其它名字:
jar cvfm Test.jar MANIFEST.MF Main.class Philosopher.class Chopsticks.class
運行后得到以下輸出信息:
標明清單(manifest)
增加:Main.class(讀入= 4833) (寫出= 2541)(壓縮了 47%)
增加:Philosopher.class(讀入= 1857) (寫出= 1071)(壓縮了 42%)
增加:Chopsticks.class(讀入= 946) (寫出= 574)(壓縮了 39%)
可在文件夾下看到生成了Test.jar文件,雙擊它即可運行你的Java程序了.至此,所有步驟就完成了
以后你想要運行這個程序就可以直接點擊這個.jar文件了,這樣可以方便以后的使用了。不過我在此說明一點,要想運行這個.jar文件,必須你的電腦上安裝有JDK的環(huán)境,這一點我是親自驗證過的。