java檔案打包成exe可執行檔

來源:互聯網
上載者:User

標籤:

java檔案打包成exe檔案,分為兩步,首先用eclipse將java檔案打包成jar檔案,然後用exe4j將jar檔案打包成可執行exe檔案

一:用eclipse將java檔案打包成jar檔案

如果java檔案未引用外部包,可以將其打包成Jar File,如果其引用了外部包檔案,最好將其打包成Runnable Jar File,這樣可以將外部包檔案一併打包進去,雖然包有點大,但是省去了在其它電腦上不能啟動並執行麻煩。(我自己是打包成了Runnable Jar File,操作非常簡單,這裡不再敘述此過程)

打包成jar File的步驟網上有很多,在這裡copy一份。

第一步,將java項目打包成可執行jar檔案,首先看一下我的java project結構,Main.java是程式入口類,裡面有main函數,config目錄是些設定檔,lib是用到的第三方類庫

開始打包,Simulate(Java項目)-滑鼠右鍵-Export

快顯視窗,選擇“JAR file”,點擊“Next”

取消勾選“config”和“lib”目錄,以及eclipse產生的項目設定檔“.classpath”和“.project”,點擊“Next”

一切預設,點擊“Next”

在快顯視窗中,選擇我們自己建立的MANIFEST.MF檔案,點擊“Finish”

我的MANIFEST.MF檔案內容為:

Manifest-Version: 2.0Main-Class: pubmed.viewClass-Path: lib/commons-math3-3.2.jar lib/commons-math-2.2.jar lib/activation-1.1.jar lib/antlr-2.7.7.jar lib/apache-mime4j-core-0.7.2.jar lib/axiom-api-1.2.13.jar lib/axiom-dom-1.2.13.jar lib/axiom-impl-1.2.13.jar lib/axis2-adb-1.6.2.jar lib/axis2-adb-codegen-1.6.2.jar lib/axis2-ant-plugin-1.6.2.jar lib/axis2-clustering-1.6.2.jar lib/axis2-codegen-1.6.2.jar lib/axis2-corba-1.6.2.jar lib/axis2-fastinfoset-1.6.2.jar lib/axis2-java2wsdl-1.6.2.jar lib/axis2-jaxbri-1.6.2.jar lib/axis2-jaxws-1.6.2.jar lib/axis2-jibx-1.6.2.jar lib/axis2-json-1.6.2.jar lib/axis2-kernel-1.6.2.jar lib/axis2-metadata-1.6.2.jar lib/axis2-mtompolicy-1.6.2.jar lib/axis2-saaj-1.6.2.jar lib/axis2-soapmonitor-servlet-1.6.2.jar lib/axis2-spring-1.6.2.jar lib/axis2-transport-http-1.6.2.jar lib/axis2-transport-local-1.6.2.jar lib/axis2-xmlbeans-1.6.2.jar lib/bcel-5.1.jar lib/commons-cli-1.2.jar lib/commons-codec-1.3.jar lib/commons-fileupload-1.2.jar lib/commons-httpclient-3.1.jar lib/commons-io-1.4.jar lib/commons-logging-1.1.1.jar lib/geronimo-annotation_1.0_spec-1.1.jar lib/geronimo-jaxws_2.2_spec-1.0.jar lib/geronimo-jta_1.1_spec-1.1.jar lib/geronimo-saaj_1.3_spec-1.0.1.jar lib/geronimo-stax-api_1.0_spec-1.0.1.jar lib/geronimo-ws-metadata_2.0_spec-1.1.2.jar lib/httpcore-4.0.jar lib/jalopy-1.5rc3.jar lib/jaxb-api-2.1.jar lib/jaxb-impl-2.1.7.jar lib/jaxb-xjc-2.1.7.jar lib/jaxen-1.1.1.jar lib/jaxws-tools-2.1.3.jar lib/jettison-1.0-RC2.jar lib/jibx-bind-1.2.jar lib/jibx-run-1.2.jar lib/jsr311-api-1.0.jar lib/juli-6.0.16.jar lib/log4j-1.2.15.jar lib/mail-1.4.jar lib/mex-1.6.2-impl.jar lib/neethi-3.0.2.jar lib/regexp-1.2.jar lib/tribes-6.0.16.jar lib/woden-api-1.0M9.jar lib/woden-impl-commons-1.0M9.jar lib/woden-impl-dom-1.0M9.jar lib/wsdl4j-1.6.2.jar lib/wstx-asl-3.2.9.jar lib/xalan-2.7.0.jar lib/xml-resolver-1.2.jar lib/xmlbeans-2.3.0.jar lib/XmlSchema-1.4.7.jar

mf檔案注意事項:
(1)第一行不能空,行與行之間不能有空行,每一行的最後一個字元不能是空格
(2)最後一行一定是空行
(3)每個屬性的名稱和值之間(冒號後面)一定要有空格
(4)檔案的每一行都不能超過72個位元組(一般是70個ASCII字母加上斷行符號分行符號);如果72個位元組不夠用,則另起一行並以空格開頭:以空格開頭的行都被視為前一行的續行。

通過指定“Main-Class”來達到可執行jar檔案的目的。其實我們最終是將項目打包成exe,Class-Path可以不指定,在打包exe的時候還要指定classpath的。

第二步,將項目打包成exe,這裡要明確一點,並不是把所有的檔案都打包成一個exe,資源檔是不能包進去的,往下看↓

首先,在任意目錄建立一個檔案夾,最好命名和項目名相同,我在F盤建立了一個“Simulate”檔案夾,之後將所有的資源檔以及我們產生的可執行 jar檔案(我的Simulate.jar)都拷貝到這個檔案夾裡,config目錄和lib目錄,如果你怕執行該程式的機器上沒安裝jre,那麼你需要 將自己機器上的jre目錄也拷貝進來,我安裝的jre5,最後的目錄結構:

然後使用exe4j將jar打包成exe檔案

開啟exe4j,跳過歡迎,直接點擊左側導航的第二項,因為我們已經提前將java項目打包成可執行jar檔案了

在快顯視窗,選擇“JAR in EXE mode”,點擊“Next”

在新視窗中,為我們的應用取個名稱,之後選擇exe組建目錄(我的F:\Simulate),點擊“Next”

為我們要產生的exe取名,如果想產生自訂表徵圖,那麼選擇你的ico檔案,如果你不想在一台電腦上運行多個你的程式,你可以勾選“Allow only a single...”,點擊“Next”

點擊綠色“+”,設定程式啟動並執行Class Path

先選擇我們自己的可執行jar檔案(我的Simulate.jar),點擊OK

我們的Simulate.jar就加到Class Path下了

之後點擊General中的Main Class選擇按鈕,在快顯視窗中,exe4j會自動搜尋當前Class Path下的全部jar中包含main方法的類,並列出,因為當前我只選擇了自己項目的jar,而我的項目中只有Main.jar包含了main方法,所 以一目瞭然,直接選擇它點擊“OK”,程式入口類就設定完成了

Main Class設定完成後,依次將所有需要的第三方類庫加到Class Path下,方法同添加“Simulate.jar”一樣,點擊“Next”

輸入Java最小Jre版本號碼,即低於這個版本的Jre無法運行該程式,接著點擊“Advanced Options”-“Search sequence”,設定一下我們的JRE,之前說過,如果客戶機上沒裝Jre咋辦?,沒關係我們捆綁一個進去

點擊綠色“+”來選擇捆綁的JRE位置

在彈出對話方塊中選擇“Directiony”,之後選擇JRE的檔案夾,注意:這個JRE目錄是我們將原生JRE目錄拷貝到當前exe組建目錄下的,而程式使用的就是相對目錄,最好寫成.\jre,不要寫成圖中的.\jre5,點擊OK,完成JRE的捆綁操作。

JRE捆綁完畢,點擊“Next”

預設,點擊“Next”

預設,點擊“Next”

預設,點擊“Next”

exe產生中

OK,完成,點擊“Exit”即可

看看成果如何吧!

最後我們需要將jre拷貝到和exe同一個目錄下, 如,這樣就可以在沒有jdk的電腦上運行了。



java檔案打包成exe可執行檔

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.