jar 轉(zhuǎn) exe的工具很多,比較流行的有exe4j 、installanywhere(主要做安裝)、jsmooth。我在這里選擇了jsmooth。實(shí)際上jsmooth 和exe4j的操作都差不多,而jsmooth比exe4j還要小巧,我選擇jsmooth。
          制作分兩種情況,一種是將jre 和 exe一同發(fā)布,這樣你就可以不用考慮客戶機(jī)器上安裝jvm沒有了。一種是要求客戶機(jī)器上安裝有jre的情況。

          1. 先將要求客戶機(jī)上安裝有jre的情況:
          很多文章都喜歡從界面操作上開始講,而我認(rèn)為從項(xiàng)目文件講就更簡單了。如下是我的jar轉(zhuǎn)exe的test.exe.jsmooth文件。用jsmooth直接打開 test.exe.jsmooth這個(gè)文件(至于界面上每一步該怎么設(shè)置都一目了然,全設(shè)置好了。),直接編譯就ok了。
          test.exe.jsmooth文件內(nèi)容如下:
           1 <?xml version="1.0" encoding="ISO-8859-1"?>
           2 <jsmoothproject>
           3 <JVMSearchPath>registry</JVMSearchPath>
           4 <JVMSearchPath>javahome</JVMSearchPath>
           5 <JVMSearchPath>jrepath</JVMSearchPath>
           6 <JVMSearchPath>jdkpath</JVMSearchPath>
           7 <JVMSearchPath>exepath</JVMSearchPath>
           8 <JVMSearchPath>jview</JVMSearchPath>
           9 <arguments></arguments>
          10 <currentDirectory>.</currentDirectory>
          11 <embeddedJar>true</embeddedJar>
          12 <executableName>test.exe</executableName>
          13 <iconLocation>Ico02 042.ico</iconLocation>
          14 <initialMemoryHeap>-1</initialMemoryHeap>
          15 <jarLocation>JavaApplication19.jar</jarLocation>
          16 <mainClassName>Client</mainClassName>
          17 <maximumMemoryHeap>-1</maximumMemoryHeap>
          18 <maximumVersion></maximumVersion>
          19 <minimumVersion></minimumVersion>
          20 <skeletonName>Windowed Wrapper</skeletonName>
          21 <skeletonProperties>
          22 <key>Message</key>
          23 <value>This program needs Java to run.
          24 Please download it at http://www.java.com</value>
          25 </skeletonProperties>
          26 <skeletonProperties>
          27 <key>URL</key>
          28 <value>http://www.java.com</value>
          29 </skeletonProperties>
          30 <skeletonProperties>
          31 <key>SingleProcess</key>
          32 <value>1</value>
          33 </skeletonProperties>
          34 <skeletonProperties>
          35 <key>Debug</key>
          36 <value>0</value>
          37 </skeletonProperties>
          38 </jsmoothproject>

          其中:
          (1).<
          arguments></arguments>表示運(yùn)行參數(shù)。
          (2).
          <currentDirectory>.</currentDirectory>表示的是當(dāng)前目錄,那么你直接把要轉(zhuǎn)換的jar和test.exe.jsmooth放在同一個(gè)目錄。(我這里都是放在同一個(gè)目錄下)
          (3).<executableName>test.exe</executableName>表示生成exe的名字。(我沒有測試放在不同目錄下的結(jié)果,我不認(rèn)為有必要做這個(gè)測試)。
          (4).<iconLocation>Ico02 042.ico</iconLocation>表示exe所使用的圖標(biāo)。
          (5).<jarLocation>JavaApplication19.jar</jarLocation>表示要轉(zhuǎn)的jar文件。
          (6).<mainClassName>Client</mainClassName> 表示主類(7).<skeletonName>Windowed Wrapper</skeletonName>表示的是運(yùn)行時(shí)候,不需要帶dos控制臺(tái)窗口。對應(yīng)的是Console Wrapper。

          直接保存test.exe.jsmooth文件就可以用。
          對于應(yīng)用的目錄結(jié)構(gòu)圖:
          21.jpg

          2.第2種情況,即帶jre的exe

          <?xml version="1.0" encoding="ISO-8859-1"?>
          <jsmoothproject>
          <JVMSearchPath>registry</JVMSearchPath>
          <JVMSearchPath>javahome</JVMSearchPath>
          <JVMSearchPath>jrepath</JVMSearchPath>
          <JVMSearchPath>jdkpath</JVMSearchPath>
          <JVMSearchPath>exepath</JVMSearchPath>
          <JVMSearchPath>jview</JVMSearchPath>
          <arguments></arguments>
          <bundledJVMPath>java</bundledJVMPath>
          <classPath>java\bin</classPath>
          <classPath>java\lib</classPath>
          <classPath>java\lib\rt.jar</classPath>
          <classPath>java\lib\javaws.jar</classPath>
          <currentDirectory>Test.exe</currentDirectory>
          <embeddedJar>true</embeddedJar>
          <executableName>Test.exe</executableName>
          ……后面同上例一樣。
          最重要的區(qū)別是這個(gè)綁定了java虛擬機(jī),指定了classpath路徑。
          編譯時(shí)候,把java文件放在同一目錄下:
          22.jpg
          其中test.exe是生成的。
          簡單吧,編譯就生成了exe文件了。
          posted on 2007-03-06 17:31 -274°C 閱讀(12752) 評(píng)論(19)  編輯  收藏 所屬分類: JAVA


          FeedBack:
          # re: jar 轉(zhuǎn) exe 個(gè)人經(jīng)驗(yàn)總結(jié)
          2007-03-06 19:30 | BeanSoft
          jsmooth 做的還算很不錯(cuò)的了....  回復(fù)  更多評(píng)論
            
          # re: jar 轉(zhuǎn) exe 個(gè)人經(jīng)驗(yàn)總結(jié)
          2007-03-07 09:48 | lubaolin
          可不可以發(fā)給我一份
          lubaolu@163.com
          先謝謝
            回復(fù)  更多評(píng)論
            
          # re: jar 轉(zhuǎn) exe 個(gè)人經(jīng)驗(yàn)總結(jié)
          2007-03-07 10:17 | αβγ
          jsmooth嗎?我發(fā)到你郵箱了。  回復(fù)  更多評(píng)論
            
          # re: jar 轉(zhuǎn) exe 個(gè)人經(jīng)驗(yàn)總結(jié)
          2007-03-07 23:04 | Ma
          我怎么編譯不了?奇怪  回復(fù)  更多評(píng)論
            
          # re: jar 轉(zhuǎn) exe 個(gè)人經(jīng)驗(yàn)總結(jié)
          2007-03-08 12:05 | αβγ
          編譯不了,總有信息提示吧。  回復(fù)  更多評(píng)論
            
          # re: jar 轉(zhuǎn) exe 個(gè)人經(jīng)驗(yàn)總結(jié)
          2007-03-27 00:41 | 念思學(xué)
          可以給我一份嗎?
          liangshuang22@126.com  回復(fù)  更多評(píng)論
            
          # re: jar 轉(zhuǎn) exe 個(gè)人經(jīng)驗(yàn)總結(jié)
          2007-10-12 14:05 | 為愛守候
          可以給我一份嗎?
          dengfeng4860@163.com  回復(fù)  更多評(píng)論
            
          # re: jar 轉(zhuǎn) exe 個(gè)人經(jīng)驗(yàn)總結(jié)
          2007-10-13 01:16 | -274°C
          @為愛守候
          jsmooth已發(fā)。  回復(fù)  更多評(píng)論
            
          # re: jar 轉(zhuǎn) exe 個(gè)人經(jīng)驗(yàn)總結(jié)
          2007-10-21 15:07 | 我也要.
          我想要jsmooth
          最好能加上一個(gè)做好了的.exe程序
          我的郵箱是yuxingyc@163.com
          謝謝!!  回復(fù)  更多評(píng)論
            
          # re: jar 轉(zhuǎn) exe 個(gè)人經(jīng)驗(yàn)總結(jié)
          2008-05-13 08:50 | mag
          我也要一份jsmooth 和一個(gè)做好了的.exe程序(帶jre的exe),謝謝了
          magicalzhang@163.com
            回復(fù)  更多評(píng)論
            
          # re: jar 轉(zhuǎn) exe 個(gè)人經(jīng)驗(yàn)總結(jié)
          2008-05-15 16:39 | daviddong
          我的Jsmooth感覺進(jìn)度很慢,這個(gè)是怎么回事?導(dǎo)入文件后就如同死機(jī)一般,難道對硬件配置要求高?我的內(nèi)存512的。  回復(fù)  更多評(píng)論
            
          # re: jar 轉(zhuǎn) exe 個(gè)人經(jīng)驗(yàn)總結(jié)
          2008-06-05 13:01 | 274
          @daviddong

          對機(jī)器要求不高。
            回復(fù)  更多評(píng)論
            
          # re: jar 轉(zhuǎn) exe 個(gè)人經(jīng)驗(yàn)總結(jié)
          2008-06-05 13:04 | 274
          @mag

          sorry,時(shí)間隔久了,沒有找到。其實(shí)上面已經(jīng)寫的很清楚了。操作起來也就幾步。  回復(fù)  更多評(píng)論
            
          # re: jar 轉(zhuǎn) exe 個(gè)人經(jīng)驗(yàn)總結(jié)
          2009-01-24 18:32 | IT公司面試手冊
          很好的文章 太謝謝了  回復(fù)  更多評(píng)論
            
          # re: jar 轉(zhuǎn) exe 個(gè)人經(jīng)驗(yàn)總結(jié)
          2009-03-01 03:26 | Joseph
          很好的文章~謝謝~
          可以email jsmooth 給我嗎
          josephlxc@yahoo.com.tw
          謝謝~  回復(fù)  更多評(píng)論
            
          # re: jar 轉(zhuǎn) exe 個(gè)人經(jīng)驗(yàn)總結(jié)
          2009-03-12 11:37 | 33
          可以給我一份嗎。
          zhangyong0129@126.com
          謝謝  回復(fù)  更多評(píng)論
            
          # re: jar 轉(zhuǎn) exe 個(gè)人經(jīng)驗(yàn)總結(jié)
          2009-04-06 00:46 | clock88731
          我轉(zhuǎn)一下呵。會(huì)注明出處。  回復(fù)  更多評(píng)論
            
          # re: jar 轉(zhuǎn) exe 個(gè)人經(jīng)驗(yàn)總結(jié)
          2009-06-03 17:17 | PUSHIHAO
          我也要一份jsmooth 和一個(gè)做好了的.exe程序(帶jre的exe),謝謝了
          1123191615@QQ.COM  回復(fù)  更多評(píng)論
            
          # re: jar 轉(zhuǎn) exe 個(gè)人經(jīng)驗(yàn)總結(jié)
          2009-06-16 16:12 | -274°C
          @PUSHIHAO
          sorry,多年未寫java,這些都遺失了。請聯(lián)系其他人吧。  回復(fù)  更多評(píng)論
            

          常用鏈接

          留言簿(21)

          隨筆分類(265)

          隨筆檔案(242)

          相冊

          JAVA網(wǎng)站

          關(guān)注的Blog

          搜索

          •  

          積分與排名

          • 積分 - 916199
          • 排名 - 40

          最新評(píng)論

          主站蜘蛛池模板: 海淀区| 临洮县| 彰化县| 江都市| 阿鲁科尔沁旗| 理塘县| 三江| 三台县| 荆州市| 龙州县| 泽普县| 霸州市| 全椒县| 万年县| 南陵县| 宿迁市| 上犹县| 台前县| 宝清县| 连山| 灵川县| 枝江市| 珲春市| 日照市| 临猗县| 和静县| 玉山县| 墨竹工卡县| 东莞市| 兰西县| 隆回县| 共和县| 崇仁县| 盈江县| 霍州市| 古交市| 铁岭市| 桃源县| 平乐县| 惠州市| 安顺市|