1. 程式人生 > >springboot在Windows(無jre)下打包並執行exe

springboot在Windows(無jre)下打包並執行exe

在Windows無jre環境中springboot專案打包成exe並執行。

我用的eclipse,將springboot通過maven build 打包成 jar在target中。既然是java程式,那麼必須就要在java環境下才能執行,也就是所謂的jre。通過exe4j可以將jar打包成exe,並可以讓jar自動去尋找jre,但是說並不是所謂的將jre裝載到exe中,而且exe和jre必須在同一個父目錄下。如果你移植到其他環境中,是無法知道該windows環境是否存在jre。所以jar只能在與自己同一目錄去尋找是否有jre來執行自己,那麼這個工作是由exe4j完成。

第二步選擇 "JAR in EXE" mode

第三步選擇exe匯出路徑

第四步 

第五步

這裡只強調第6步,其實這一步是告訴jar你執行的時候如果沒有java環境,那麼你就找跟你同目錄下的jre,並不是說把jre打包進exe裡面去。請務必將jre路徑與jar包路徑在同一目錄下。剩下點next即可,到第九步會自行編譯出exe。

到這裡,除非你要把jar和jre打包成zip,壓縮包的形式移植到其他環境下。很顯然這是十分不友好的,那麼可以使用innosetup將exe和jre打包成安裝包形式的exe。這樣就顯得很自然了。innosetup使用很簡單,不作詳說。有一個地方特別提醒一下。

如果不做此操作,那麼exe安裝出來的名為jre資料夾不存在了,innosetup會自動將jre裡的檔案解析出來,然而jar又只認識jre資料夾下的。所以會報錯。

附上exe4j和innosetup下載地址