當前位置:首頁 » 編程軟體 » gcj編譯成exe

gcj編譯成exe

發布時間: 2022-09-23 21:40:26

A. java如何編譯成EXE的文件如何實現自編譯(不要虛擬機還可運行)

(1) 使用InstallAnywhere等工具,將應用程序和JRE一起打包,製作一個exe的安裝包。
在安裝過程中,用戶可以選擇使用他機器上的JRE或是這個安裝包內的JRE來運行程序。這是很常見的一種做法,顯得比較專業,而且原來的程序不需要作任何改動,安裝後的程序即在JVM上運行,可以獲得原本的效果。如JBuilder就是這么做的。InstallAnywhere中一個壓縮的JRE大概是8M,它可以針對linux、 win、mac等多個操作系統打包。

(2) 使用JET、gcj等工具,將應用程序製作成一個真正的exe文件。
採用這種方式做成的exe文件可以直接在沒有安裝JRE的計算機上運行。Java類庫全部被編譯成dll,變為本地調用。
JET是收費的(從 http://www.excelsior-usa.com/jetdlevala.html可以下載3.6試用版)。JET安裝好以後,它要把系統上安裝的JDK編譯一下,要等很久。如果JDK是1.4.2_05版還需要打一個補丁。
gcj有windows和Linux版,直接下載zip包,不需要安裝。裡面有不少例子,一些build的批處理文件。從原理來說,gcj自己實現了 JVM規范,當運行用gcj製作的exe(大約2M)時會啟動裡面的一個小型jvm,在上面跑應用程序。不過,gcj目前還不能完整地支持Swing。
但不管怎樣,把Java做成純exe實在是吃力不討好,有很多限制,文件又大。

(3) 使用exe4j製作偽exe文件。
原理:可執行的jar包文件可以通過命令行java -jar jarfile.jar來執行。製作偽exe其實做法一樣,只不過做成exe,調用系統中的java.exe來運行它。
一般情況下,exe4j做成的可執行文件仍需JRE支持,也就是說只能在安裝了JRE的計算機上運行。不過有一種方法可製作偽exe文件,在沒有安裝 JVM的機器上也能運行:雖然exe4j並不提供將JRE打包的功能,但是它提供如何搜索JRE的方法。在第六項設定[JRE]中有一步[Search sequence],添加一個Directory方式的搜索入口,指定是相對目錄「.」 ,然後把JRE目錄中的bin和lib兩個目錄復制到你的發布目錄中就可以了。(當然你可以不用當前目錄「.」,任何當前目錄下的其他目錄也可以,比方 「./JRE」之類的)。此時發布目錄中生成的exe文件就在運行時就會調用當前目錄中的JRE,而不是通過系統注冊表及環境變數尋找JRE了,所以只要把整個發布目錄(含exe及JRE的bin和lib)復制到其他計算機上,也就實現了「目標機即便沒有安裝過JRE也可以執行」。當然,這種發布方式無法得到一個內含JRE的單獨的exe文件。另外,JRE的完整目錄有50M,但是我們的程序只可能調用其中很少的一部分,你可以手動為發布目錄中的JRE減肥、去掉不使用的文件,但這需要一定的經驗。減肥後的JRE根據應用程序的不同,最小可以只有10M左右。

(4) 把java應用程序最後做成applet。
將java applet編入html文件,用瀏覽器方式打開,可以在任何沒有安裝JRE的機器上運行,好比exe文件一樣(當然在安裝了JRE的計算機上也可以用批處理文件或java命令來運行)。Windows IE打開applet靠的是一個叫「micosoft VM」的東西,現在該軟體一般都是自帶的。不過,Windows IE支持的JDK最高版本只能到JDK1.1。如果別人的機器運行不了applet,無非這三個原因:
a. 程序編譯時使用的JDK版本太高,Windows IE不支持。用較老闆版本的編譯器重新編譯(v1.1之前)就可以了。比如在dos下javac -target 1.1 *.jav(強制使用JDK1.1編譯源程序)。
b. 用戶的Windows沒有micosoft vm(這種情況比較少見,只有windows XP第一版等極少數情況)。這種情況下,當客戶的IE每次load applet時候, Windows會提示「沒有download micosoft VM」,他只需從網上下一個就可以了。
c. 用戶計算機上裝有一些保護ie的軟體(比如最新的windows sp2有時就會防止java applet的loading)。暫時關閉保護功能就可以了。

(5) 使用JBuilder、exe4j等工具製作成需要JRE支持的exe文件。

B. java編譯後的.class文件可以怎樣轉換成.exe文件

java的可執行文件時jar,所以打包成jar就可以雙擊運行了,不過具體命令參數可能需要網上查一下,有的方式打包之後還是不能直接雙擊運行的,或者用Eclipse直接打包,如果一定要弄成exe也可以用工具,之前有用過一個jsmooth還好用的,可以試試看

C. 怎麼把java中程序轉化為可執行文件

關於將java程序做成exe文件的幾種做法(ZT)
可以把普通的Java程序做成真正的exe,也就是單一個exe就可以在沒有安裝JVM的機器上運行。這樣的工具常見的有JET和gcj.前者是收費的,而且做出來的exe還是需要一堆dll。推薦使用gcj.他有windows和Linux版,直接下載zip包,不需要安裝,裡面有不少例子,一些build的批處理文件。從原理來說gcj自己實現了JVM規范,也就是你編寫一個HelloWorld.java,其中的main方法為System.out.println("foo");
當使用gcj把它做成exe(大約2M),運行這個exe時,會啟動裡面的一個小型jvm,在這上面跑HelloWorld。

其實,把Java做成純exe實在是吃力不討好,有很多限制,文件又大。

我比較傾向另幾種做法:

. 使用InstallAnywhere等工具,製作一個exe的安裝包
用戶可以選擇使用他機器上的JRE或是這個安裝包內的JRE來運行程序
這是很常見的一種做法,如JBuilder就是這么做的。
這樣的好處是不要求對方機器上裝有JRE,而且你原來的程序不需要任何改動。
InstallAnywhere中一個壓縮的JRE大概是8M。

. 製作成可執行的jar,也就是在META-INF的MANIFEST文件制定Main-Class
可以通過命令行java -jar jarfile.jar來執行,windows默認的把*.jar使用javaw -jar打開,所以有些機器上可以直接雙擊jar運行。

. 製作偽exe,其實和上一種做法是一樣的,只不過做成exe,調用系統的java.exe來運行它,這樣的工具有nativeJ,exe4j等

其實Java不像VB,Delphi只是一個語言,而是一個平台。
jar是最常用的部署單元,做成exe沒什麼意思。
一、exe4j。
說明:exe4j可以將Jar文件製作成exe文件,但需jre支持,也可將Jar文件放在外面。
軟體性質:共享軟體
下載地址:http://www.ej-technologies.com/procts/exe4j/overview.html
二、JBuilder。
說明:新版本的JBuilder可以直接把工程製作成各系統的可執行文件,包括Windows系統。
軟體性質:商業軟體
下載地址:略。我是從eMule下載的。
三、NativeJ。
說明:與exe4j功能類似。
軟體性質:共享軟體
下載地址:http://www.dobysoft.com/procts/nativej/download.html
四、Excelsior JET。
說明:可以直接將Java類文件製作成exe文件,除AWT和Swing及第三方圖形介面外可不需jre支持(Java5.0不行)。
軟體性質:共享軟體
下載地址:http://excelsior-usa.com/home.html
五、jshrink。
說明:可將Jar文件打包進exe文件。同時具有混淆功能(這才是它的主要功能)。
軟體性質:共享軟體
下載地址:http://www.e-t.com/jshrink.html
六、InstallAnywhere。
說明:打包工具,對Java打包最好用。可打包成各操作系統運行包。包括Windows系統。
軟體性質:商業軟體。
下載地址:http://www.zerog.com/
七、InstallShieldX。
說明:與InstallAnywhere類似,但比InstallAnywhere功能強大。相對的,比較復雜,不易上手,我現在還沒學會。
軟體性質:商業軟體。
下載地址:http://www.installshield.com/

D. JAVA如何轉成.EXE

(1)一種是把原來的程式(class)用一層殼包起來 ,但是這樣的EXE檔無法獨立複製到其他的機器上去執行 , 因為它的底層仍然要透過JRE(JDK)去執行
(JBuilder 產生的就是此類 , 如果要測試可以將JBuilder產出的EXE直接複製到另一台乾淨沒有安裝任何JRE或JDK的機器上去測試就知道了)(2)將Java Source 直接編譯成特定平台上的執行檔(Windows , Linux , AIX)
需要的是GCJ , 不過它似乎針對 SWING的部分不是那麽支援 , 所以一般會建議使用SWT來做GUI的視窗程式 ,
而且針對 JDK的API 支援度不是那麽快(有些JDK 1.4的API應該是還沒時做才是)

E. 求Java程序打包成可執行jar的工具或者方法

總體思路是先打成jar再把jar打成exe。主要看1.3和2.3里的內容就可以了。
1.將項目打成jar:
1.1要將項目打包成jar文件,方法很多,可以用Eclipse自帶的打包工具Ant打包,也可以用Eclipse的Export生成jar。經過嘗試後,我不推薦用Ant打包,因為要自己編寫xml腳本語言,還要增加一些外部的jar,所以我打了好幾次都沒打成。
1.2在這里介紹兩種方法生成jar,第一種是用Eclpise的Export功能。在要打包的項目上擊右鍵,選擇Export,在窗口中選擇Java里的JAR file。Next後的窗口中已經自動選好了要打包的項目,用戶可以點擊加號查看項目里被打包的內容。在下面的JAR file里設置你打包生成jar文件的輸出目錄,下一步在出現的窗口中選擇Use existing manifest from workspace,在下面的Main class後面直接點Browse,它會自動列出你項目中有主函數main的類。選擇主類後點Finish即可生成jar文件。在此說明一下,這種打包方法不能把項目中的外部的jar包打進來,因該是也要編寫一些腳本語言,沒往深研究。所以生成後的jar有些是不能執行的。
1.3第二種方法是利用Eclipse的一個第三方插件fatjar生成jar文件,也是本人覺得最簡單最方便的一種生成方式。先從網上下載些插件,解壓後是一個plugins的文件夾,裡面只有一個文件夾,我的「net.sf.fjep.fatjar_0.0.24」將它到Eclipser plugins文件夾下,此插件就安裝成功了,重啟Eclipse在項目上右擊就會看到多出一個「Build Fat Jar」在前面有個綠色的「+」號,這時你就可以用此插件打包你的項目了。進去後第一個界面Jar-Name里增入要生成的jar文件名,我的是「CAMP_fat.jar」。在Main-Class後點Browse像Export一樣它也會列出你項目中的主類,選擇後其它默認即可,Next後會列出你要打包的所有內容,這個插件的優勢就是可以將你項目中的外部jar也打進來,有三個先項,其中Export ANT是生成build.xml腳本文件,方便用戶以後修改腳本,其它兩個按鈕沒用。在這里什麼都不點,直接點Finish就可以生成jar文件。
2.將jar打成.exe文件:
2.1 雖然此時的jar文件已經可以執行了。生成.exe的文件我也是用兩種方法實現的,用到的打包工具是j2ewiz和exe4j,它們的不同會在我下面的介紹中體現出來。
2.2 首先是j2ewiz,這個軟體是綠色的,不用安裝,解壓後可以直接運行,但這個軟體生成的 .exe文件不是跨平台的。運行此程序首先就是輸入要打包的jar文件,我們瀏覽JAR選擇我們之前用fatjar生成的「CAMP_fat.jar」項目文件(詳見1.3),下面那個選項是提示用戶最低要求的JRE版本,一般選1.3。下一步,因為我們的寢室管理系統是圖形界面,所以在這里選「Windows窗口程序」下一步它也是自動生成要執行的主類,你只要選擇就可以。下面的選框可以選擇你啟動程序顯示的圖片。下一步後這個窗可按個人喜好選擇。下一步,如果你的程序還有什麼依賴的外部jar文件,可以從這里加上,但因為之前的fatjar以經將我們項目所用的那三個連資料庫的外部類打進CAMP_fat.jar包里了,所以這里不用再添加。如果你之前是用Export打的jar包,那麼這里就需要再把那個三個資料庫的包加進來了(詳見1.2)。下一步是添入要生成的.exe文件名,再選一個程序圖標就可以了,下一步後生成.exe文件,點完成。雙擊生成的.exe文件就能看到運行效果了,這種exe文件還沒有脫離JDK環境,還不能跨平台使用,只能用於小組成員測試使用。
2.3 =下面進入最關鍵的,如何打包跨平台的.exe文件。用到的軟體是exe4j,我用的是V4.0版的,此軟體需要破解。安裝後運行左窗窗口標有十步,其實打包過程也非常簡單。第一步完全略過,直接點Next第二步我們選擇「JAR
in EXE mode」 就是選擇我們已經有製作好的jar文件。第3步上面是項目名稱,可隨便填寫,下面一個寫出你想要將打包後的exe文件輸出的目錄我的是「桌面\project\」。第4步,由於我的演示程序是圖形的,所以選第一個,如果你的程序是控制台的,則選擇第二個,Executable name寫你將要生成的.exe文件的名字,Icon File可以選擇生成文件的圖標。第5步,先別管上面的,先在下面單擊綠色的「+」號,在彈出的窗口中點Archive,然後找到起初已經做好的CAMP_fat.jar(詳見1.3)文件,"OK"後返回,在下面的Class Path里就出現jar文件路徑後,再在上面Main Class欄內點擊找到main所在的類。第6步,你系統的JRE版本,一般是填個1.3,下面填1.6在這里單擊advanced options,選擇search sequence。選這個就是因為我們要把JDK環境也打包進來,好讓程序能跨平台使用。首先要從你系統的JDK下的JRE目錄到你.exe文件的輸出目錄下「桌面\project\JRE」,然後回到exe4j中在彈出窗口刪除列表中的所有項。我的是三項,一個注冊表的,一個JAVA環境變數的,一個JDK環境變數的,都不要。然後單擊綠「+」,選擇directory並選擇JRE的根目錄,我的是「桌面\project\JRE」就是後的目錄,選完後exe4j彈出窗口中的Directory里會顯示「.\JRE」。點OK關閉該窗口,返回exe4j的主窗口,你就可以看到剛加的路徑。再從主窗口左側窗口中單擊advanced options,並選擇preferred VM,在彈出的窗口中選擇client hostspot VM,單擊next按鈕繼續。7、8步是一些個性設置默認即可。第9步編譯完後第10步你點那個「Click Here to Start the Application」按鈕就可以看到程序運行效果了,然後再點」Seave as」保存一個exe4j生成的一個文件,隨便存哪裡都行,和我們的.exe程序無關。全部製作過程就完工了。

F. java編譯後的.class文件可以怎樣轉換成.exe文件

java生成exe一般都使用工具軟體,有好幾個,jet,exe4j,nativej,jsmooth,各有特點,網上可以搜搜,有介紹,另外補充一個工具JXMaker,可以試一試。
如果要完全編譯成本地代碼,脫離jre,好像只有gcj,但支持的是jre
1.5,且不完全,而gcj項目已停止了,gcj命令行下使用起來比較繁瑣,最好有個腳本,如果你的是比較簡單的java程序,可以看看gcj能否滿足要求。

G. 關於java中的gcj的問題

gcj可以把java程序編譯成本地代碼,編譯成功後的exe文件不再需要jre就可直接運行,編譯成本地後的程序運行速度有所提高。缺點是生成後的文件較大,我試了一個hello world都要兩兆多,用winrar壓縮後為600多k。

熱點內容
美團商家新增的技術伺服器是什麼 發布:2024-04-27 12:12:35 瀏覽:342
得到腳本 發布:2024-04-27 12:06:25 瀏覽:935
三星手機鎖屏忘記密碼了怎麼辦 發布:2024-04-27 12:05:41 瀏覽:518
python基礎語言 發布:2024-04-27 11:54:40 瀏覽:83
ioshttp伺服器搭建 發布:2024-04-27 11:40:26 瀏覽:912
忘記密碼如何強制刷機vivo 發布:2024-04-27 11:28:40 瀏覽:384
c語言讀取指定行 發布:2024-04-27 11:28:30 瀏覽:51
c語言中a10什麼意思 發布:2024-04-27 10:45:43 瀏覽:58
物聯網中ftp是什麼意思 發布:2024-04-27 10:41:17 瀏覽:986
銀行密碼保護在哪裡 發布:2024-04-27 10:25:23 瀏覽:189