欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

java打包成可執(zhí)行的jar或者exe的詳細(xì)步驟

 更新時(shí)間:2014年04月04日 11:28:23   作者:  
Java程序完成以后,對(duì)于Windows操作系統(tǒng),習(xí)慣總是想雙擊某個(gè)exe文件就可以直接運(yùn)行程序,現(xiàn)我將一步一步的實(shí)現(xiàn)該過(guò)程.最終結(jié)果是:不用安裝JRE環(huán)境,不用安裝數(shù)據(jù)庫(kù),直接雙擊一個(gè)exe文件,就可以運(yùn)行程序

下面介紹過(guò)程:

第一步:完成Java GUI程序

在Eclipse下,程序能夠正常運(yùn)行.

第二步:準(zhǔn)備清單文件(MANIFEST.MF)

方法1:直接拷貝其它能運(yùn)行的JAR文件中的MANIFEST.MF進(jìn)行修改
方法2:利用IDE工具,如Eclipse在生成JAR文件時(shí)自動(dòng)生成
MANIFEST.MF內(nèi)容如下:

復(fù)制代碼 代碼如下:
Manifest-Version: 1.0
Main-Class: manager.ui.MainFrame
Class-Path: ./lib/spring.jar ./lib/hibernate.jar ./lib/derby.jar
SplashScreen-Imager: manager/resources/images/splash.jpg

說(shuō)明:

Manifest-Version - 指定清單文件的版本號(hào)
Main-Class -指定程序運(yùn)行的入口類(lèi)。注意:類(lèi)名后不要加class擴(kuò)展名
Class-Path -指定支持庫(kù)的路徑。“.”指程序運(yùn)行目錄,即導(dǎo)出的JAR包所在目錄。程序運(yùn)行時(shí)依據(jù)Class-Path項(xiàng)的設(shè)置路徑來(lái)查找支持庫(kù)。每一個(gè)支持庫(kù)之間用空格隔開(kāi)。在這里使用了hibernate,spring,derby.

注意:

1.如果Java應(yīng)用程序用到了一些Eclipse包,那么就必須將這些包也復(fù)制到程序運(yùn)行目錄,設(shè)置到Class-Path,否則程序?qū)o(wú)法運(yùn)行.引用了一些外部組件也需要如此設(shè)置,如hibernate,spring,derby.
2. 除了入口類(lèi)的包名和類(lèi)名之外,其他設(shè)置項(xiàng)都不分大小寫(xiě),比如:Class-Path寫(xiě)成class-path或CLASS-PATH也可以,swt.jar寫(xiě)成SWT.JAR也行。
3.類(lèi)名后不要加class擴(kuò)展名
4.每一行的':'后都有一個(gè)空格,如Class-Path:<空格>./lib/spring.jar
5.Class-Path中.引入的JAR文件每行不得超過(guò)19個(gè),否則會(huì)報(bào)錯(cuò).但在讓人意外的是每行只有前9個(gè)有效,故將所有同類(lèi)型的JAR 文件做成一個(gè)JAR文件.如我這里的spring.jar,hibernate.jar,derby.jar都是同類(lèi)JAR文件的組合.


第三步:修改spring配置文件

在spring的 'sessionFactory' bean的配置中則要這樣寫(xiě)(與程序中ClassPathXmlApplicationContext對(duì)應(yīng))

復(fù)制代碼 代碼如下:

manager/entity/MyFile.hbm.xml
manager/entity/FileType.hbm.xml
...


第四步:使用Eclipse生成JAR文件

1.右鍵單擊項(xiàng)目名,在彈出菜單中選擇“Export”。在彈出的如下圖所示的對(duì)話(huà)框中,選擇“JAR文件”,單擊“Next”
2.將右邊不需要的文件都取消勾選。在“選擇導(dǎo)出目標(biāo)(Select the export destination)”項(xiàng)文本框中設(shè)置JAR包的輸出路徑和包名(可以任意取名)為“D:\manager\manager.jar”。接受其他的默 認(rèn)設(shè)置不變,單擊“Next”。
附注:左邊雖然選擇了src目錄,但源文件并不會(huì)導(dǎo)出到包中,除非勾選了“導(dǎo)出Java源代碼文件和資源(Export java source files and resources)”項(xiàng)。
3.接受默認(rèn)設(shè)置不變,單擊“Next”
4.這一步較關(guān)鍵。如下圖所示,選擇“從工作空間中使用現(xiàn)有清單”項(xiàng),將創(chuàng)建的清單文件輸入,也可以通過(guò)旁邊的“瀏覽”按鈕來(lái)選擇清單文件。輸入清單文件后,單擊“Finish”,Eclipse開(kāi)始將項(xiàng)目打包。
附:這里也可以選擇Generate the manifest file.但生成的清單文件MAINFEST.MF需要修改.
注意:清單文件MAINFEST.MF一定要按第二步那樣設(shè)置.

第五步:生成運(yùn)行manager.jar的批處理文件manager.bat(該步可以不要)

在manager目錄下創(chuàng)建一個(gè)批處理程序manager.bat(名字任取,擴(kuò)展名必須是bat),其內(nèi)容僅一句語(yǔ)句,如下:
javaw -jar manager.jar

說(shuō)明:

1.javaw對(duì)應(yīng)c:\jdk\jre\bin\javaw.exe文件,如果windows提示命令未發(fā)現(xiàn),則需要將c:\jdk\jre\bin路徑加入到windows環(huán)境變量path中。
2.在運(yùn)行程序的時(shí)候有一個(gè)討厭的黑色命令行窗口,要去掉它,可以將run.bat內(nèi)容更改如下:“start javaw -jar manager.jar”,start是指調(diào)用了windows的“運(yùn)行”命令。
3.在后邊加一個(gè)pause就可以讓你看到具體哪里出錯(cuò)了,如:

復(fù)制代碼 代碼如下:
start javaw -jar manager.jar
pause

雙擊manager.bat,就可以運(yùn)行該JAR文件了.

第六步:讓電腦不必安裝JRE環(huán)境,也能運(yùn)行.

通常運(yùn)行Java程序有個(gè)前提條件:用戶(hù)電腦必須先安裝JRE環(huán)境。雖然安裝JRE環(huán)境非常簡(jiǎn)單,但畢竟多了一步,算是有一點(diǎn)點(diǎn)的瑕疵。這里給出一個(gè)不必讓用戶(hù)安裝JRE環(huán)境的方法,其實(shí)現(xiàn)步驟如下:
(1)將原JDK中的“jre”目錄復(fù)制到“D:\manager\java”目錄下(java也可換成其他名稱(chēng))。
(2)將JDK和JRE從本機(jī)卸載掉,這樣表示本機(jī)沒(méi)有安裝JAVA運(yùn)行環(huán)境。
(3)修改批處理文件manager.bat中的命令為“start java\jre\bin\javaw -jar manager.jar”,僅僅是在javaw前加上了一個(gè)相對(duì)應(yīng)路徑。
雙擊manager.bat即可在不安裝JRE環(huán)境的電腦運(yùn)行此Java應(yīng)用程序。

第七步:拋棄批處理文件(*.bat),生成exe文件

用批處理文件運(yùn)行程序似乎不夠?qū)I(yè),雖然它足以完成運(yùn)行任務(wù)。但習(xí)慣就象一種毒藥一旦染上就很難擺脫它的影響,Windows統(tǒng)治下的人們?cè)缫呀?jīng)習(xí)慣運(yùn)行擴(kuò)展名是EXE的程序,用*.bat他們就會(huì)感覺(jué)別扭。
我們可以用一個(gè)叫JavaLauncher的免費(fèi)小程序來(lái)代替批處理文件去運(yùn)行Java程序。JavaLauncher的下載網(wǎng)址是:
http://www.rolemaker.dk/nonRoleMaker/javalauncher/marner_java_launcher.htm
下載下來(lái)的文件是一個(gè)名JavaLauncher.zip的壓縮包,解壓后的目錄結(jié)構(gòu)如下所示:

復(fù)制代碼 代碼如下:
JavaLauncher.zip目錄結(jié)構(gòu)
source        目錄包含了JavaLauncher的源程序,是用C語(yǔ)言寫(xiě)的
changes.txt   是新版的修改說(shuō)明
launch.exe    是主程序
launcher.cfg  是配置文件
readme.txt    是一些說(shuō)明和示例

我們只需要launch.exe、launcher.cfg兩個(gè)文件,將這兩個(gè)文件復(fù)制到打包文件所在的目錄。launcher.cfg是一個(gè)僅三行內(nèi)容的文本文件,將它修改如下:
.\java\jre\bin\javaw.exe
-jar manager.jar
第一行設(shè)置指向JAR包managger.jar的目錄,由于launch.exe和myswt.jar同在一個(gè)目錄,所以用“.”即當(dāng)前目錄。
第二行設(shè)置指向jre\bin\javaw.exe的路徑。在上面已將jre目錄復(fù)制到了java子目錄中
配置好launcher.cfg后,雙擊launch.exe即可運(yùn)行java應(yīng)用程序。
如果仔佃研究eclipse的啟動(dòng)方式,發(fā)現(xiàn)eclipse和JavaLauncher的原理一樣:eclipse.exe相當(dāng)于 launch.exe,startup.jar相當(dāng)于manager.jar。只不過(guò)eclipse.exe不象launch.exe要具有通用性,所以 它沒(méi)有*.cfg這樣的配置文件,而是將啟動(dòng)信息固化在eclipse.exe中。

第八步:美化圖標(biāo)

launch.exe文件的圖標(biāo)太單調(diào)了,讓我們給它換個(gè)好看點(diǎn)的。換程序的圖標(biāo)需要用到一個(gè)免費(fèi)的軟件:Resource Hacker.

第九步:最后的打包

發(fā)送給用戶(hù)之前,通常要用WinZip或WinRAR將所有的文件全部打成一個(gè)壓縮包,然后用戶(hù)得到這個(gè)壓縮包后,將其解壓縮后即可運(yùn)行程序,Eclipse軟件就是這種方式。
另一種方式是用InstallShield、InstallAnyWhere這樣的安裝程序制作軟件來(lái)創(chuàng)建一個(gè)單一的setup.exe文件, 它具有向?qū)降陌惭b界面,而且還可以往windows的程序欄插入菜單項(xiàng),關(guān)于這些安裝程序制作軟件的具體使用請(qǐng)參閱相關(guān)書(shū)籍。

相關(guān)文章

  • mybatis-plus用insertBatchSomeColumn方法批量新增指定字段

    mybatis-plus用insertBatchSomeColumn方法批量新增指定字段

    mybatisPlus底層的新增方法是一條一條的新增的,下面這篇文章主要給大家介紹了關(guān)于mybatis-plus用insertBatchSomeColumn方法批量新增指定字段的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-05-05
  • java基礎(chǔ)(System.err和System.out)詳解

    java基礎(chǔ)(System.err和System.out)詳解

    下面小編就為大家?guī)?lái)一篇java基礎(chǔ)(System.err和System.out)詳解。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-06-06
  • Mybatis Generator 獲取不到字段注釋的解決

    Mybatis Generator 獲取不到字段注釋的解決

    這篇文章主要介紹了Mybatis Generator 獲取不到字段注釋的解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-09-09
  • 23種設(shè)計(jì)模式(9) java橋接模式

    23種設(shè)計(jì)模式(9) java橋接模式

    這篇文章主要為大家詳細(xì)介紹了java設(shè)計(jì)模式之橋接模式,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-11-11
  • java多線(xiàn)程和并發(fā)包入門(mén)示例

    java多線(xiàn)程和并發(fā)包入門(mén)示例

    這篇文章主要寫(xiě)了java多線(xiàn)程的使用方法和java并發(fā)包簡(jiǎn)單入門(mén)的示例,大家可以參考使用
    2013-11-11
  • idea手動(dòng)執(zhí)行maven命令的三種實(shí)現(xiàn)方式

    idea手動(dòng)執(zhí)行maven命令的三種實(shí)現(xiàn)方式

    這篇文章主要介紹了idea手動(dòng)執(zhí)行maven命令的三種實(shí)現(xiàn)方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-08-08
  • mybatis如何使用Map接收返回值

    mybatis如何使用Map接收返回值

    這篇文章主要介紹了mybatis如何使用Map接收返回值問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-12-12
  • Java實(shí)現(xiàn)MD5加密的方法

    Java實(shí)現(xiàn)MD5加密的方法

    這篇文章主要介紹了Java實(shí)現(xiàn)MD5加密的方法,實(shí)例分析了基于java實(shí)現(xiàn)md5加密的相關(guān)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2015-07-07
  • Java之JSF框架案例詳解

    Java之JSF框架案例詳解

    這篇文章主要介紹了Java之JSF框架案例詳解,本篇文章通過(guò)簡(jiǎn)要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下
    2021-09-09
  • SpringBoot如何使用Undertow做服務(wù)器

    SpringBoot如何使用Undertow做服務(wù)器

    這篇文章主要介紹了SpringBoot如何使用Undertow做服務(wù)器,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-07-07

最新評(píng)論