Java Web項(xiàng)目如何在Windows桌面運(yùn)行?
一、前言
前幾天一個(gè)朋友找我,說有一個(gè) 數(shù)據(jù)接口開發(fā) 能夠頁面展示的小項(xiàng)目,能夠在本地運(yùn)行就行,不需要放到網(wǎng)上,問我這邊可不可以做,本來想 婉言謝絕 的,但是聽到說,可以給點(diǎn)辛苦費(fèi),于是想到了 李白大詩(shī)人 說的一句:人生貴相知,何用金與錢。朋友嗎,不就是互相幫助嗎?這個(gè)功能可以做的,我來我來,可以完成的,錢不錢的無所謂,主要是想為朋友做點(diǎn)事,咳咳咳~,言歸正傳,我那個(gè)朋友呢,他不是一個(gè)開發(fā)者,所以項(xiàng)目做好后,讓他安裝 JDK、tomcat,根本就是不現(xiàn)實(shí)的啊,于是摸索了一陣之后,想到 idea將web項(xiàng)目打包成jar一樣使用, 然后再用 exe4j將jar打包成exe文件, 說干就干。
二、開發(fā)環(huán)境
開發(fā)工具:IntelliJ IDEAJdk版本:1.8項(xiàng)目框架:spring boot 2.2.1.RELEASEexe4j工具:5.1項(xiàng)目類型:Java Web 項(xiàng)目
三、項(xiàng)目打包
3.1 項(xiàng)目目錄結(jié)構(gòu)
這個(gè)就是正常的 spring boot 下正常的 jar 項(xiàng)目,我們創(chuàng)建的時(shí)候正常操作就行,下面就是我將這個(gè)項(xiàng)目做完之后的目錄結(jié)構(gòu),大家可以參考一下。
3.2 打包生成jar
一、找到 idea工具中右邊工具欄中的 maven 按鈕
二、生成項(xiàng)目可執(zhí)行 jar
操作步驟:
1) clean:清理,在進(jìn)行真正的構(gòu)建之前進(jìn)行一些清理工作,移除所有上一次構(gòu)建生成的文件。執(zhí)行該命令會(huì)刪除項(xiàng)目路徑下的 target文件,但是不會(huì)刪除本地的 maven 倉(cāng)庫(kù)已經(jīng)生成的 jar 文件。
2) install:安裝至本地倉(cāng)庫(kù),將包安裝至本地倉(cāng)庫(kù),讓其它項(xiàng)目進(jìn)行依賴。會(huì)在項(xiàng)目路徑下生成 class文件和jar包,同時(shí)會(huì)在本地 maven倉(cāng)庫(kù)生成 jar文件,讓其他項(xiàng)目也可以使用3)package:項(xiàng)目打包,將工程文件打包為指定的格式, 例如Jar,War等。這個(gè)命令會(huì)在你的項(xiàng)目路徑下一個(gè) target目錄,并且擁有 compile命令的功能進(jìn)行編譯,同時(shí)會(huì)在 target目錄下生成項(xiàng)目的 jar/war文件,其中的 jar就是我們需要的東西。
其他命令(因?yàn)楸疚闹皇鞘褂蒙厦嫒齻€(gè),這是幾個(gè)帶過一下):
validate:驗(yàn)證,驗(yàn)證工程是否正確,所需的信息是否完整。
compile:編譯源碼,編譯生成class文件,編譯命令,只編譯選定的目標(biāo),不管之前是否已經(jīng)編譯過,會(huì)在你的項(xiàng)目路徑下生成一個(gè)target目錄,在該目錄中包含一個(gè)classes文件夾,里面全是生成的class文件及字節(jié)碼文件。
test:?jiǎn)卧獪y(cè)試
verify:核實(shí),檢查package是否有效、符合標(biāo)準(zhǔn)。
site:站點(diǎn),生成項(xiàng)目的站點(diǎn)文檔
deploy:復(fù)制到遠(yuǎn)程倉(cāng)庫(kù)
三、獲取可執(zhí)行 jar
生成成功之后,我們就可以在 target目錄 下看到我們需要的 jar文件
四、復(fù)制這個(gè)jar文件,放到統(tǒng)一的一個(gè)文件夾下
四、工具準(zhǔn)備
有一點(diǎn)需要說明的是,使用 idea 生成的 jar文件,會(huì)將 依賴 jar文件和配置文件都打進(jìn) 項(xiàng)目jar 中,因此我們 不需要單獨(dú)在添加依賴jar或配置文件,這一點(diǎn)很重要。
一、需要生成的 jar 文件
二、轉(zhuǎn)換工具:EXE4J鏈接:https://pan.baidu.com/s/1EDxFr56qxjSBsjei1cRhqQ提取碼:ahnt
三、JDK中jre文件
四、完整文件展示
只需要我們 項(xiàng)目的jar 和 jdk中的 jre文件 就可以了如果你需要自定義圖標(biāo),可以自行放入一個(gè)ico 的文件
重點(diǎn):所有的文件都放在一起,我們是需要打包給別人的,jre1.8.0_101和項(xiàng)目jar也要一起發(fā)給別人!!!!!
五、使用exe4j進(jìn)行轉(zhuǎn)換
下載安裝完成后,界面如圖,第一步完成注冊(cè),Name和Company:隨便填就是了注冊(cè)碼:A-XVK258563F-1p4lv7mg7sav (網(wǎng)上很多,隨便搜一個(gè))
完成后點(diǎn)擊Next
5.1 勾選JAR in EXE
表示將 jar 打包成 exe 程序,然后下一步
5.2 填寫打包后的exe程序名稱和保存路徑
5.3 填寫exe文件名和圖標(biāo)信息
5.4 選擇操作系統(tǒng),如果是64位操作系統(tǒng),一定要勾選64位系統(tǒng)的選擇框
5.5 添加 要運(yùn)行的jar路徑
注意:因?yàn)閕dea 在導(dǎo)出springboot 項(xiàng)目 jar的時(shí)候會(huì)自動(dòng)把我們需要的jar和配置文件導(dǎo)出,這里 不需要我們?cè)谔砑悠渌蕾嚢团渲梦募?/p>
注意:在spring boot中我們需要添加的是 org.springframework.boot.loader.JarLauncher,而不是我們每次運(yùn)行的 WebApplication
5.6 填寫支持運(yùn)行的jdk版,這里用的是1.8
5.7 連帶打包 jre
5.8 一直Next下一步,直到完成即可
5.9 生成exe程序文件
我們就會(huì)發(fā)現(xiàn)在我們包里面多了一個(gè)exe文件,我們點(diǎn)擊運(yùn)行。如果有報(bào)錯(cuò)信息,在這個(gè)文件下會(huì)有一個(gè)error的日志文件,可以查看日志內(nèi)容
注意:文件要放在一起,不能分開!!!
5.10 效果展示,這個(gè)在沒有java環(huán)境下也是可以使用的,已經(jīng)經(jīng)過我朋友驗(yàn)證過了
六、關(guān)閉應(yīng)用
我們打開這個(gè)應(yīng)用后,如果需要關(guān)閉這個(gè)應(yīng)用,該怎么操作呢?別擔(dān)心,都給你準(zhǔn)備好了,我們只需要寫一個(gè)很簡(jiǎn)單的腳本就行了。
腳本命令:@taskkill/f/IM textWeb.exetextWeb.exe 是我自己的應(yīng)用程序的名字,改成自己的就可以
6.1 新建一個(gè) 關(guān)閉程序的txt文件
6.2 將命令復(fù)制到txt文件中
@taskkill/f/IM textWeb.exe
6.3 將文件后綴改成 .bat
6.4 再訪問我們的應(yīng)用,無法訪問
7 完成
我們只需要將這個(gè)文件夾下的文件打包壓縮,發(fā)送給需要使用的人就可以了。就算對(duì)方?jīng)]有java環(huán)境也是可以運(yùn)行起來的。