[爆卦]Java執行exe是什麼?優點缺點精華區懶人包

為什麼這篇Java執行exe鄉民發文收入到精華區:因為在Java執行exe這個討論話題中,有許多相關的文章在討論,這篇最有參考價值!作者oikl1268 (迷路子)看板java標題Re: [問題] 在沒安裝jdk的電腦跑jar時間S...


包成runnable jar有個問題就是在沒有安裝jdk的電腦跑不了

我自己的做法是把包好的jar變成exe檔

然後連jre一起包給對方,檔案會因為jre變得很大,但可以免除叫對方安裝jdk的問題

我使用的是exe4j這套軟體

非免費軟體,但有試用版 .也有暗黑版

做法:安裝完後執行

1.welcome 第一次執行選擇next就好

2.project type 請事先先用eclipse把java專案包成jar檔 不是runnable jar
選第"jar in exe"mode

3.application info 第一欄隨便打 第二欄選擇你輸出exe檔的儲存位置

4.executable info 如果是console 選console就好 有用到gui就選gui
executable name是你輸出成exe檔的名稱
icon是你輸出的exe顯示的icon 其他不用動

5.java invocation class path先按右邊的+讀取你包好的jar檔
然後在main class選擇你jar中的main class

6.jre minimum 和 maximum是你的java程式需求的jre版本號,如果你最少要1.7才能跑
在minimum就輸入1.7 maximum可打可不打
之後選advanced options→search sequence
先把search sequence中的內容清空 並在jar檔所在的資料夾下創建"jre7"資料夾
這個資料夾名稱取決於你要求最低版本的jre,如果是1.6,就打"jre6"
然後回到exe4j,按右邊的+,並選擇你剛剛創建的jre資料夾位置
應該會看到在search sequence多了一個 "Directory .\jre7"
請確認這個路徑是 .\ 開頭
確認完後按next 在preferred vm選擇client hotspot vm

7.8.9都一直按next就好 最後就會輸出exe

10.整個執行完後選擇finish會問你要不要儲存這個exe4j專案,如果需要多次修改的情況
可以把exe4j專案儲存,之後再執行exe4j時就可以在1.的時候選擇open讀取專案了

最後一步是請將位於你C:\Program\java的jre資料夾複製到exe檔的所在資料夾

我自己複製時是使用32bit版本的jre才可以正確執行

接下來就是依照你的程式需求對jre進行瘦身,把裡面不需要的jar刪掉

如果不確定哪個jar不需要,只要刪掉後仍然可以正確啟動程式就表示你的程式不需要

雖然最後你這個程式仍然會很龐大(約75~100mb)

但某方面來說,可以不用特地教對方安裝jre,尤其是大量發布時

這是我把java程式發給沒安裝jdk的人的做法

※ 引述《r801129 (阿嘎)》之銘言:
: 本身我的電腦有安裝jdk, 今天幫朋友寫一支JAVA程式
: 我用eclipse包成runnable jar file, 在我的電腦可以跑
: 傳給他跑時發現不能執行, 自己google很多資料, 用了很多方法
: 例如: 轉成exe, 更改MANIFEST.MF 還是不能 最後請我朋友安裝jdk後就能執行了
: 後來我又用一個方法: 把jdk跟jar放在一起, 寫了一個startup.bat去執行
: 我朋友電腦顯示 "不是正確的win32應用程式"
: 請問有什麼辦法可以讓jar在沒有安裝jdk的環境下執行?

--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 1.163.154.198
dennisxkimo:不用這麼麻煩,還要用"試用版"軟體來打包 07/28 21:41
dennisxkimo:jre目錄跟jar放在同個資料夾內,批次執行+開頭SET環境 07/28 21:45
dennisxkimo:不是正確32...那個問題,你是用Java7_64寫的嗎? 07/28 21:54
dennisxkimo:如果對方是32位元系統,你丟jdk7_64的給他run會有問題 07/28 21:57
dennisxkimo:我是jdk6(32or64)給對方jre+jar+批次+批次開頭SET環境 07/28 21:59
pupuliao:我用 eclipse 打包的JAR 好像只要有安裝JAVA 就可以使用? 07/29 00:00
pupuliao:我只只安裝http://www.java.com/zh_TW/ 這個 07/29 00:03
pupuliao:這是你們所說的JDK 嗎? 還是JRE ? 07/29 00:05
dennisxkimo:可以先了解什麼是JDK跟JRE 07/29 00:21
pupuliao:我知道 JDK 是JAVA 開發工具包,一般人不需要安裝 07/29 00:29
pupuliao:而我前面貼的網址裡面說明,應該是屬於 JRE,是執行環境 07/29 00:31
pupuliao:依照我的實驗 執行 JAR 不需要 安裝JDK 只要安裝JRE 07/29 00:32
dennisxkimo:我不是原po啦~我只是提供個人常用的作法,針對"主題" 07/29 01:17
TaiwanXDman:我是用Jsmooth包的 07/31 15:43

你可能也想看看

搜尋相關網站