Feeling

              三人行,必有我?guī)熝?/p>

             ::  :: 新隨筆 :: 聯(lián)系 ::  :: 管理 ::
            185 隨筆 :: 0 文章 :: 392 評(píng)論 :: 0 Trackbacks
            最近很多人問(wèn)我SWT Extension 項(xiàng)目上的那個(gè)不需要的JREExample是如何做出來(lái)的。我以前也會(huì)執(zhí)著于這個(gè)問(wèn)題,畢竟如果不依賴(lài)于JRE的話(huà),就不需要為用戶(hù)準(zhǔn)備一個(gè)容量極大的安裝包,但是這種做法看似有利,實(shí)則有利有弊。

          就我所知,目前把Java程序編譯成本機(jī)可執(zhí)行程序的方法有兩種,一種是GCJ,免費(fèi)的,一種是Excelsior JET,商業(yè)的。我已經(jīng)很久沒(méi)有碰過(guò)GCJ了,因?yàn)楫?dāng)初用起來(lái)實(shí)在是非常麻煩,現(xiàn)在的版本如何,我不太清楚。我自己使用的是Excelsior JET,版本為3.7。有一點(diǎn)要注意的的是,Excelsior JET的后續(xù)版本好像已經(jīng)不支持這個(gè)功能了,3.7是我所知的最后一個(gè)版本,能支持當(dāng)前所有的Win32平臺(tái)和早期的Linux(當(dāng)前比較流行的Ubuntu不支持,因?yàn)閮?nèi)核版本過(guò)高,不過(guò)企業(yè)版Redhat沒(méi)有問(wèn)題)。不過(guò)我是很久以前從0day當(dāng)下來(lái)的,由于0day倉(cāng)儲(chǔ)只保留一年,故現(xiàn)在已經(jīng)找不到了,我自己的機(jī)器上也沒(méi)有安裝包了(有一次大意之下,把整個(gè)Download目錄全給刪掉了,事后悔之晚矣)。

          Excelsior JET無(wú)非就是用自己的Runtime來(lái)代替JRE,只是比JRE更加靈活,根據(jù)Java程序具體的依賴(lài)來(lái)生成對(duì)應(yīng)的Runtime。其實(shí)這個(gè)Runtime也挺大的,通常10M左右,不過(guò)比起JRE,那要小很多了。SWT Extension上的那個(gè)例子只有6M,是因?yàn)槲矣?/span>ASPack把所有的DLL文件全部壓縮過(guò)了,體積小了一半。

          就我的感覺(jué),Excelsior JETGCJ更加靈活,也更好用,畢竟是商業(yè)版的東西,它的網(wǎng)站上曾經(jīng)有例子將Eclipse 3.0編譯成本機(jī)程序,不過(guò)我當(dāng)初照著例子試了一遍,沒(méi)有成功。Excelsior JET的編譯過(guò)程極為耗時(shí),我上大學(xué)的時(shí)候,當(dāng)時(shí)機(jī)器只有128M內(nèi)存,編譯了一天JRE也沒(méi)有完成,后來(lái)找同學(xué)借了根256的內(nèi)存,這才得以完成。

          JAVA代碼編譯成本機(jī)程序的弊端也是有的,那意味著你將無(wú)法在線(xiàn)升級(jí),GCJ也許可以,但是Excelsior JET是絕對(duì)不行的,這是因?yàn)樗詈笠徊揭獙?duì)所有DLL進(jìn)行鏈接,如果更換了DLL文件,它會(huì)檢測(cè)出來(lái)并報(bào)錯(cuò)。

          各位看官如果哪位有興趣,可以自行在網(wǎng)上查找Excelsior JET3.7或其他版本。由于安裝包我自己也沒(méi)有,故無(wú)法提供下載,見(jiàn)諒。


          評(píng)論

          # re: Excelsior JET:把Java程序編譯成本機(jī)可執(zhí)行程序的工具 2008-05-18 20:21 BeanSoft
          是呀 編譯特別慢。。。很早之前弄過(guò),后來(lái)覺(jué)得老用破解軟件,于心不忍,呵呵,而且新版的安裝包也特別大。  回復(fù)  更多評(píng)論
            

          # re: Excelsior JET:把Java程序編譯成本機(jī)可執(zhí)行程序的工具 2008-05-19 19:27 BeanSoft
          弱弱的問(wèn)下你還有 key 嘛 3.7 的。。。。  回復(fù)  更多評(píng)論
            

          # re: Excelsior JET:把Java程序編譯成本機(jī)可執(zhí)行程序的工具 2008-05-19 20:16 三人行,必有我?guī)熝?/a>
          0day的那個(gè)版本是不需要key的,安裝包就已經(jīng)破解好了。盡管安裝包我已經(jīng)弄丟了,不過(guò)Win32 綠色的也可以用,只不過(guò)要配置一下環(huán)境變量。Linux的那個(gè)版本我就更找不到了,主要是現(xiàn)在只支持部分Linux,覺(jué)得沒(méi)多大意思,3.7的patch好像解決了這個(gè)問(wèn)題,但是需要正版用戶(hù)才行。我等破解用戶(hù),就只能垂涎了。你要是還想玩玩的話(huà),我可以打包一個(gè)綠色版給你。另外3.7只支持到JDK1.4,1.5的話(huà)都是需要官方patch的。  回復(fù)  更多評(píng)論
            

          # re: Excelsior JET:把Java程序編譯成本機(jī)可執(zhí)行程序的工具 2008-05-20 19:30 BeanSoft
          好啊 打包給我個(gè)綠色版好了 可惜這幾天白天不能上網(wǎng) 我給你留言個(gè)帳號(hào) 幫忙上傳下 多謝了  回復(fù)  更多評(píng)論
            

          # re: Excelsior JET:把Java程序編譯成本機(jī)可執(zhí)行程序的工具 2008-05-21 16:35 Always BaNg.
          我覺(jué)得Java程序不需要JRE是背離Java精神的,只能作為特殊情況對(duì)待。  回復(fù)  更多評(píng)論
            

          # re: Excelsior JET:把Java程序編譯成本機(jī)可執(zhí)行程序的工具 2008-05-23 00:11 BeanSoft
          多謝了!已經(jīng)收到,再次感謝!

          這個(gè)也是需要JRE的,是一種特殊的JRE而已.  回復(fù)  更多評(píng)論
            

          # re: Excelsior JET:把Java程序編譯成本機(jī)可執(zhí)行程序的工具 2008-05-24 21:21 三人行,必有我?guī)熝?/a>
          @BeanSoft
          只是它自己的runtime而已,基本上和JRE無(wú)關(guān)了。  
          回復(fù)  更多評(píng)論
            


          只有注冊(cè)用戶(hù)登錄后才能發(fā)表評(píng)論。


          網(wǎng)站導(dǎo)航:
           
          GitHub |  開(kāi)源中國(guó)社區(qū) |  maven倉(cāng)庫(kù) |  文件格式轉(zhuǎn)換 
          主站蜘蛛池模板: 永寿县| 马山县| 读书| 政和县| 沂源县| 泰兴市| 浪卡子县| 平武县| 津南区| 海阳市| 乡城县| 莫力| 赣榆县| 新乡县| 商南县| 盐池县| 手游| 江山市| 伊金霍洛旗| 肃北| 塔城市| 土默特右旗| 壶关县| 泰兴市| 民丰县| 宜宾县| 繁昌县| 丰宁| 郧西县| 洪洞县| 毕节市| 泰顺县| 河东区| 盈江县| 东源县| 城市| 新沂市| 河源市| 和政县| 玉山县| 阳江市|