最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

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

下面介紹過程:

第一步:完成Java GUI程序

在Eclipse下,程序能夠正常運行.

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

方法1:直接拷貝其它能運行的JAR文件中的MANIFEST.MF進行修改
方法2:利用IDE工具,如Eclipse在生成JAR文件時自動生成
MANIFEST.MF內容如下:

復制代碼 代碼如下:
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 - 指定清單文件的版本號
Main-Class -指定程序運行的入口類。注意:類名后不要加class擴展名
Class-Path -指定支持庫的路徑?!?”指程序運行目錄,即導出的JAR包所在目錄。程序運行時依據Class-Path項的設置路徑來查找支持庫。每一個支持庫之間用空格隔開。在這里使用了hibernate,spring,derby.

注意:

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


第三步:修改spring配置文件

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

復制代碼 代碼如下:

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


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

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

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

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

說明:

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

復制代碼 代碼如下:
start javaw -jar manager.jar
pause

雙擊manager.bat,就可以運行該JAR文件了.

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

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

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

用批處理文件運行程序似乎不夠專業(yè),雖然它足以完成運行任務。但習慣就象一種毒藥一旦染上就很難擺脫它的影響,Windows統(tǒng)治下的人們早已經習慣運行擴展名是EXE的程序,用*.bat他們就會感覺別扭。
我們可以用一個叫JavaLauncher的免費小程序來代替批處理文件去運行Java程序。JavaLauncher的下載網址是:
http://www.rolemaker.dk/nonRoleMaker/javalauncher/marner_java_launcher.htm
下載下來的文件是一個名JavaLauncher.zip的壓縮包,解壓后的目錄結構如下所示:

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

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

第八步:美化圖標

launch.exe文件的圖標太單調了,讓我們給它換個好看點的。換程序的圖標需要用到一個免費的軟件:Resource Hacker.

第九步:最后的打包

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

相關文章

  • Java實現的斷點續(xù)傳功能的示例代碼

    Java實現的斷點續(xù)傳功能的示例代碼

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

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

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

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

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

    springboot 啟動如何修改application.properties的參數

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

    使用springboot實現上傳文件時校驗文件是否有病毒

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

    mybatis引用其他文件中的sql片段的實現

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

    Struts2攔截器Interceptor的原理與配置實例詳解

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

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

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

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

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

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

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

最新評論

思茅市| 苍溪县| 屯昌县| 漳州市| 崇信县| 奉贤区| 溧水县| 化州市| 札达县| 新乐市| 吉林市| 望都县| 新竹县| 四平市| 德令哈市| 大洼县| 高阳县| 皮山县| 房山区| 洛川县| 威信县| 绵阳市| 浦江县| 嘉荫县| 浙江省| 天峻县| 眉山市| 辉南县| 翁源县| 赞皇县| 云梦县| 孝义市| 崇州市| 长治县| 富宁县| 临城县| 永修县| 新源县| 介休市| 南昌市| 阳江市|