Java應用定製工廠--jar轉exe製作工具
Java應用定製工廠(以下簡稱為JCB,Java Customization Builder)是一個針對Java輕量級桌面應用進行精簡優化的小工具,使用它可以精簡你的jar包,並自動生成一個精簡的JRE,也可以使用它生成一個Exe啟動載入程式,並且能夠對你的Java應用自動做Pack200和Unpack200處理。使用本工具定製的Java桌面應用通常不會超過10M(包含JRE),SWT客戶端程式相對於Swing客戶端程式更小,一般不會超過5M。
精簡JRE網上已經有很多文章了,但是實際操作上卻有一個嚴重的弊端,很容易丟擲NoClassDefDoundErr , 這個Error基本上是致命的,一旦發生,Java程式就會崩潰。通常產生這種Error是由於Verbose模式下執行沒有考慮到的異常狀況導致的,所以Verbose模式得到的結果十分的不可靠,需要對其作進一步的加工。JCB的處理手段是針對Verbose結果進行反編譯處理,找出這些class檔案的依賴關係,並將這些被依賴的類也做打包處理,這樣就能杜絕95%以上的NoClassDefDoundErr錯誤。這裡需要考慮的是Java的類動態載入機制,通過這種機制載入的類只能用Verbose模式獲得,SWT中沒有使用這種方式載入class,但是Swing,JDBC,XML框架,Eclipse框架等一些結構比較巧妙的框架中則大量運用了動態載入,所以如果你確認你的程式碼中包含了這些框架,那麼你就老老實實把基本功能都跑一遍吧。
得到了Java應用程式需要的class檔案之後,就需要對JRE進行精簡的處理。JCB會對常用的一些Class作分析,判斷那些dll庫是必須的,一般來說輕量級的Java應用,JCB完全能做到自動處理,JCB並沒有處理重量級Java應用的機制,比如RMI之類。不過JVM一般都會對缺少的庫做出提示,你也可以根據這些提示將缺少的dll新增到精簡後的JRE中。
現在Java應用的Jar包和JRE都被精簡了,下一步就是生成可以執行的exe檔案了,大家常用的軟體是exe4j,不過JCB提供了一些比exe4j更強大的功能。JCB生成的exe可以把外部引數通過exe傳遞給Java應用,這樣你就可以製作一個關聯副檔名的Java應用程式了。JCB還可以針對Java應用做Pack200處理,Pack200能夠極大的壓縮jar檔案,為什麼JRE安裝包只有16M左右,而一個rt.jar都有40多M,原因就在於此。JCB是通過Au3指令碼來生成exe檔案的,你也可以自己修改JCB生成的Au3指令碼,定製你自己需要的行為。
預設情況下JCB生成的exe會首先讀取登錄檔,尋找符合條件的JRE,優先順序是JDK>JRE>自帶JRE,如果一個都沒找到,會彈出提示對話方塊。
JCB下載地址:http://jcb.sourceforge.net/
相關文章
- 定製 ERP 工廠版本功能
- 【智慧製造】汽車智慧製造技術應用及智慧工廠案例
- 遊戲設計製作中對鎖定設定的應用(轉)遊戲設計
- 將Jar檔案製作成exe檔案JAR
- Ubuntu Core:製作包含私有 snap 的工廠映象Ubuntu
- java 應用程式 安裝程式製作(要帶jvm)JavaJVM
- 用Dockerfile製作一個java應用映象,ubuntu基礎篇DockerJavaUbuntu
- 數字轉型打造服裝智慧製造工廠
- InstallShield Express for delphi製作安裝程式定製BDE引擎 (轉)Express
- java打包.jar及.exeJavaJAR
- 工廠的立體圖怎麼畫好看?智慧工廠電子地圖製作平臺地圖
- 用jsmooth + inno生成exe並製作簡單安裝包JS
- 【智慧製造】智慧製造技術與數字化工廠應用!
- python製作exe可執行表白神器Python
- 純CSS製作單頁Web應用CSSWeb
- 用Dreamweaver 定義模板批次製作網頁網頁
- 用 Python 製作截圖小工具Python
- Linux下應用程式開發:使用QT製作Skin(轉)LinuxQT
- 智慧工廠——智慧製造的載體
- 【智慧製造】智慧工廠怎麼建?
- 錄屏製作gif工具
- 工藝流程圖如何製作?有沒有簡單實用的線上工具流程圖
- 基本複製應用例項(轉)
- QuartzCode for Mac(動畫開發製作應用)quartzMac動畫
- 應用噪聲函式製作火焰特效函式特效
- PageMaker排版製作精彩應用技巧集錦
- 製作tld檔案及應用詳解
- 利用Lotus Connections API製作桌面應用API
- 利用 Lotus Connections API 製作桌面應用API
- 綜合使用抽象工廠、工廠方法的應用抽象
- 【智慧製造】45張精煉PPT解讀智慧工廠建設與MES應用
- 用VC++.net製作WinForm Application (轉)C++ORMAPP
- 用VB製作螢幕保護程式 (轉)
- 採用多執行緒製作動畫(轉)執行緒動畫
- 用GameAPI函式製作二維動作遊戲(轉)GAMAPI函式遊戲
- 定製AIX作業系統的shell環境(轉)AI作業系統
- Jpackage-製作無需預裝Java環境的Jar可執行程式PackageJavaJAR行程
- exe安裝檔案製作(漂亮,現代,簡約)