亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

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)該過程.最終結(jié)果是:不用安裝JRE環(huán)境,不用安裝數(shù)據(jù)庫,直接雙擊一個(gè)exe文件,就可以運(yùn)行程序

下面介紹過程:

第一步:完成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

說明:

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

注意:

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


第三步:修改spring配置文件

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

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

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


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

1.右鍵單擊項(xiàng)目名,在彈出菜單中選擇“Export”。在彈出的如下圖所示的對(duì)話框中,選擇“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)建的清單文件輸入,也可以通過旁邊的“瀏覽”按鈕來選擇清單文件。輸入清單文件后,單擊“Finish”,Eclipse開始將項(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)容僅一句語句,如下:
javaw -jar manager.jar

說明:

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è)前提條件:用戶電腦必須先安裝JRE環(huán)境。雖然安裝JRE環(huán)境非常簡單,但畢竟多了一步,算是有一點(diǎn)點(diǎn)的瑕疵。這里給出一個(gè)不必讓用戶安裝JRE環(huán)境的方法,其實(shí)現(xiàn)步驟如下:
(1)將原JDK中的“jre”目錄復(fù)制到“D:\manager\java”目錄下(java也可換成其他名稱)。
(2)將JDK和JRE從本機(jī)卸載掉,這樣表示本機(jī)沒有安裝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)治下的人們早已經(jīng)習(xí)慣運(yùn)行擴(kuò)展名是EXE的程序,用*.bat他們就會(huì)感覺別扭。
我們可以用一個(gè)叫JavaLauncher的免費(fèi)小程序來代替批處理文件去運(yùn)行Java程序。JavaLauncher的下載網(wǎng)址是:
http://www.rolemaker.dk/nonRoleMaker/javalauncher/marner_java_launcher.htm
下載下來的文件是一個(gè)名JavaLauncher.zip的壓縮包,解壓后的目錄結(jié)構(gòu)如下所示:

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

我們只需要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。只不過eclipse.exe不象launch.exe要具有通用性,所以 它沒有*.cfg這樣的配置文件,而是將啟動(dòng)信息固化在eclipse.exe中。

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

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

第九步:最后的打包

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

相關(guān)文章

  • Java實(shí)現(xiàn)的斷點(diǎn)續(xù)傳功能的示例代碼

    Java實(shí)現(xiàn)的斷點(diǎn)續(xù)傳功能的示例代碼

    本篇文章主要介紹了Java實(shí)現(xiàn)的斷點(diǎn)續(xù)傳功能的示例代碼,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-02-02
  • 完美解決Spring Boot前端的Access-Control-Allow-Origin跨域問題

    完美解決Spring Boot前端的Access-Control-Allow-Origin跨域問題

    這篇文章主要介紹了完美解決Spring Boot前端的Access-Control-Allow-Origin跨域問題,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-05-05
  • Java?Spring框架創(chuàng)建項(xiàng)目與Bean的存儲(chǔ)與讀取詳解

    Java?Spring框架創(chuàng)建項(xiàng)目與Bean的存儲(chǔ)與讀取詳解

    本篇文章將介紹Spring項(xiàng)目的創(chuàng)建,IDEA國內(nèi)源的配置以及Bean的存儲(chǔ)與讀取,所謂的Bean其實(shí)就是對(duì)象的意思,更詳細(xì)地說Spring Bean是被實(shí)例的,組裝的及被Spring 容器管理的Java對(duì)象
    2022-07-07
  • springboot 啟動(dòng)如何修改application.properties的參數(shù)

    springboot 啟動(dòng)如何修改application.properties的參數(shù)

    這篇文章主要介紹了springboot 啟動(dòng)如何修改application.properties的參數(shù)方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-08-08
  • 使用springboot實(shí)現(xiàn)上傳文件時(shí)校驗(yàn)文件是否有病毒

    使用springboot實(shí)現(xiàn)上傳文件時(shí)校驗(yàn)文件是否有病毒

    在SpringBoot中實(shí)現(xiàn)文件上傳時(shí)的病毒校驗(yàn),可以使用ClamAV、Metascan或VirusTotal等工具,這些工具通過掃描上傳的文件,可以有效地檢測和阻止惡意軟件的傳播,安裝和配置ClamAV服務(wù)的步驟如下:下載并安裝ClamAV二進(jìn)制文件,配置clamd.conf文件
    2025-01-01
  • mybatis引用其他文件中的sql片段的實(shí)現(xiàn)

    mybatis引用其他文件中的sql片段的實(shí)現(xiàn)

    Mybatis中也是支持引用其他Mapper文件中的SQL片段的,本文就來介紹一下如何使用,文中通過示例代碼介紹的非常詳細(xì),需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2024-03-03
  • Struts2攔截器Interceptor的原理與配置實(shí)例詳解

    Struts2攔截器Interceptor的原理與配置實(shí)例詳解

    攔截器是一種AOP(面向切面編程)思想的編程方式.它提供一種機(jī)制是開發(fā)者能夠把相對(duì)獨(dú)立的代碼抽離出來,配置到Action前后執(zhí)行。下面這篇文章主要給大家介紹了關(guān)于Struts2攔截器Interceptor的原理與配置的相關(guān)資料,需要的朋友可以參考下。
    2017-11-11
  • java:程序包org.springframework.boot不存在的完美解決方法

    java:程序包org.springframework.boot不存在的完美解決方法

    最近項(xiàng)目中運(yùn)行的時(shí)候提示了"java: 程序包org.springframework.boot不存在",下面這篇文章主要給大家介紹了關(guān)于java:程序包org.springframework.boot不存在的完美解決方法,需要的朋友可以參考下
    2023-05-05
  • 詳解static 和 final 和 static final區(qū)別

    詳解static 和 final 和 static final區(qū)別

    這篇文章主要介紹了static 和 final 和 static final區(qū)別,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-04-04
  • El表達(dá)式使用問題javax.el.ELException:Failed to parse the expression的解決方式

    El表達(dá)式使用問題javax.el.ELException:Failed to parse the expression

    今天小編就為大家分享一篇關(guān)于Jsp El表達(dá)式使用問題javax.el.ELException:Failed to parse the expression的解決方式,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧
    2018-12-12

最新評(píng)論