欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費電子書(shū)等14項超值服

開(kāi)通VIP
Eclipse SWT應用程序項目的打包與部署

Eclipse SWT應用程序項目的打包與部署                                      

當項目完成后接下來(lái)的就是打包發(fā)行了,應用程序(Application)項目和Eclipse插件項目(plugin)的打包是不同的,本章將分別介紹兩者的打包方法,并給出實(shí)際的打包例子。

7.1  應用程序項目的打包與發(fā)行

7.1.1  簡(jiǎn)介

       Java應用程序項目完成后是可以脫離Eclipse運行的,要運行程序先要打它打成一個(gè)JAR包,它打包的大部份方法和標準Java的AWT/SWING的打包方法一樣,主要有以下幾個(gè)要點(diǎn)

l           MANIFEST.MF -  打包清單。它是打包的關(guān)鍵性文件,主要是設置執行入口類(lèi)和支持庫的路徑,在運行Java應用程序時(shí)是要根據此文件中給出的信息來(lái)查找入口類(lèi)和支持庫。

l           支持包 -如果Java應用程序用到了一些Eclipse包,那么就必須將這些包也復制到程序運行目錄,否則程序將無(wú)法運行。如swt組件支持包swt.jar,jface組件支持包jface.jar。這些包都要在MANIFEST.MF文件中設置好。

l           本地化文件 - 如果用到了SWT組件,則還需要將SWT的本地化文件swt-win32-3063.dll(3063是版本號)復制到程序運行目錄,否則程序將無(wú)法運行。

7.1.2  打包的具體操作步驟

本節將用前幾章開(kāi)發(fā)的SWT/JFace項目"myswt"的打包為例,來(lái)介紹打包應用程序項目的方法。

1、編輯清單MANIFEST.MF

(1)Eclipse提供了用于打包項目的"導出"向導,但本例運行此向導之前先需要創(chuàng )建一個(gè)MANIFEST.MF清單文件,其內容如下:

Manifest-Version: 1.0

Main-Class: book.chapter_4.wizard_dialog.WizardDialog1

Class-Path: ./lib/swt.jar ./lib/jface.jar ./lib/runtime.jar

說(shuō)明:

l           Manifest-Version - 指定清單文件的版本號

l           Main-Class - 指定程序運行的入口類(lèi)。本例設為運行4.5.2節開(kāi)發(fā)的向導式對話(huà)框。注意:類(lèi)名后不要加class擴展名

l           Class-Path - 指定支持庫的路徑。"."指程序運行目錄,即導出的JAR包所在目錄。程序運行時(shí)依據Class-Path項的設置路徑來(lái)查找支持庫。每一個(gè)支持庫之間用空格隔開(kāi)。在這里jface.jar需要用到runtime.jar包,所以runtime.jar包也要加入到Class-Path中。

l           除了入口類(lèi)的包名和類(lèi)名之外,其他設置項都不分大小寫(xiě),比如:Class-Path寫(xiě)成class-path或CLASS-PATH也可以,swt.jar寫(xiě)成SWT.JAR也行。

(2)將清單文件保存下來(lái),建議放在myswt項目的根目錄下。它的文件名可以任意取,本例取名為manifes.txt,Eclipse向導在打包時(shí)會(huì )自動(dòng)的將manifes.txt的內容復制到JAR包的META-INF目錄下的MANIFEST.MF文件中。

2、使用Eclipse"導出"向導來(lái)打包項目

(1)右鍵單擊myswt項目的項目名,在彈出菜單中選擇"導出"。在彈出的如下圖7.1所示的對話(huà)框中,選擇"JAR文件",單擊"下一步"。

圖7.1  導出對話(huà)框

(2)如下圖7.2所示,將右邊不需要的文件都取消勾選。在"選擇導出目標"項文本框中設置JAR包的輸出路徑和包名(可以任意取名)為"D:\myswt_application\myswt.jar"。接受其他的默認設置不變,單擊"下一步"。

附注:左邊雖然選擇了src目錄,但源文件并不會(huì )導出到包中,除非勾選了"導出Java源代碼文件和資源"項。

圖7.2  選擇導入文件

(3)如下圖7.3所示,接受默認設置不變,單擊"下一步"。

圖7.3  導出類(lèi)的選項

(4)這一步較關(guān)鍵。如下圖7.4所示,選擇"從工作空間中使用現有清單"項,將創(chuàng )建的清單文件輸入,也可以通過(guò)旁邊的"瀏覽"按鈕來(lái)選擇清單文件。輸入清單文件后,單擊"完成",Eclipse開(kāi)始將項目打包。

圖7.4  清單文件設置

       經(jīng)過(guò)以上四步后,在"D:\myswt_application"路徑下生成了一個(gè)名為"myswt.jar"的文件。myswt.jar是一個(gè)ZIP格式的壓縮文件,可以用WinRAR或WinZip軟件打開(kāi),也就是說(shuō)用這兩個(gè)軟件也可以替代Eclipse向導來(lái)打包文件。如果用WinRAR來(lái)打包文件,則壓縮格式要選擇ZIP格式而非RAR格式,壓縮率倒可以任意選。

用WinRAR打開(kāi)myswt.jar文件后其內部的目錄結構如下圖7.5所示:

圖7.5  myswt.jar文件的內部目錄結構

       在myswt.jar文件的內部目錄META-INF中僅一個(gè)文件:MANIFEST.MF,它和以前創(chuàng )建的清單文件manifest.txt的內容是一樣的,如下:

Manifest-Version: 1.0

Class-Path: ./lib/swt.jar ./lib/jface.jar ./lib/runtime.jar

Main-Class: book.chapter_4.wizard_dialog.WizardDialog1

3、復制Java應用程序的支持包及本地化文件

在MANIFEST.MF文件中的Class-Path項設置了三個(gè)包,從Eclipse的plugins目錄中將此三個(gè)支持包復制到D:\myswt_application\lib目錄,本地化文件swt-win32-3063.dll復制到D:\myswt_application目錄中。此三個(gè)文件在Eclipse中的路徑為:

plugins\org.eclipse.swt.win32_3.0.1\ws\win32\swt.jar

plugins\org.eclipse.jface_3.0.0\jface.jar

plugins\org.eclipse.core.runtime_3.0.1\runtime.jar

plugins\org.eclipse.swt.win32_3.0.1\os\win32\x86\swt-win32-3063.dll

       復制完成后的目錄結構如下圖7.6所示:

圖7.6  目錄結構圖

4、編寫(xiě)運行myswt.jar包的批處理程序"run.bat"

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

javaw -jar myswt.jar

       說(shuō)明:

l           javaw對應c:\jdk\jre\bin\javaw.exe文件,如果windows提示命令未發(fā)現,則需要將c:\jdk\jre\bin路徑加入到windows環(huán)境變量path中。

l           在運行程序的時(shí)候有一個(gè)討厭的黑色命令行窗口,要去掉它,可以將run.bat內容更改如下:"start javaw -jar myswt.jar",start是指調用了windows的"運行"命令。

l           如果想將swt-win32-3063.dll也放在單獨的目錄中,如"D:\myswt_application\native"目錄,則需將run.bat內容更改為:

start javaw -Djava.library.path=./native/ -jar myswt.jar

5、運行程序

雙擊run.bat文件,得到如下圖7.7所示的程序界面。

圖7.7  程序運行效果圖

6、注意事項

本例只需要三個(gè)支持包,但你的程序也許會(huì )需要更多的支持包才能運行。如果你想一次到位,則可以將"Java構建路徑"的"庫"選項卡中所有引用的包都復制到lib目錄中。如果你喜歡用到什么包才加入什么包,希望維持打包文件的簡(jiǎn)潔,則需要自己一步步的去試:如果缺少某支持包,運行程序時(shí)會(huì )輸出的未找到類(lèi)的錯誤信息,從信息中的包名可得知程序缺少哪一個(gè)支持包。比如"Exception in thread "main" java.lang.NoClassDefFoundError: org/eclipse/jface/wizard/IWizard",從錯誤信息中很明顯的就能知道程序缺少jface包

7.1.3  其他得到JAR包的方式

       要得到JAR包除了以上所說(shuō)的用Eclipse"導出"向導、用WinZip和WinRAR,另外還能用Java自帶的命令行式打包軟件jar.exe(位于c:\jdk\bin目錄),其打包命令為:

c:\jdk\bin\jar cvfm myswt.jar C:\eclipse3.0.1\eclipse\workspace\myswt\manifest.txt -C C:\eclipse3.0.1\eclipse\workspace\myswt\bin .

       說(shuō)明:

l           c:\jdk\bin\jar - 由于本書(shū)沒(méi)有把c:\jdk\bin加入到windows環(huán)境變量path中,所以手工指定jar.exe的路徑

l           cvfm - jar.exe的參數,"c"創(chuàng )建新的jar包;"v"將調試信息打印在屏幕上;"f"指定生成的jar文件名;"m"使用清單文件。注意它們都是小寫(xiě)

l           myswt.jar - 打包后的JAR包名

l           在前面是把清單文件manifest.txt放在C:\eclipse3.0.1\eclipse\workspace\myswt\目錄下。如果將它和批處理文件放在一個(gè)目錄就不必指定長(cháng)長(cháng)的路徑了。

l           "-C 路徑 . "指將路徑下(包括子目錄)的所有文件打包,由于class文件是輸出在項目的bin目錄下,所以路徑指定到項目的bin目錄,注意三者之間是用空格隔開(kāi),并且最后一個(gè)字符是小數點(diǎn)。

這種方式的優(yōu)點(diǎn)是沒(méi)有Eclipse導出向導的操作那么麻煩,適合經(jīng)常需要導出JAR包的情況。

7.1.4  使用第三方插件對項目打包

開(kāi)源組織(http://sourceforge.net/)中有一款可將Eclipse支持包和項目編譯文件一起打到一個(gè)包中的插件,叫"Fat Jar",它的下載地址是"http://fjep.sourceforge.net/",具體下載不再說(shuō)明,安裝步驟參閱第1章SWT Designer的安裝。

Fat Jar的使用步驟如下:

(1)右鍵單擊myswt項目的項目名,可見(jiàn)菜單中多了一項"Build Fat Jar",如下圖7.8所示,選擇"Build Fat Jar"項。

圖7.8  右鍵菜單

(2)在下圖7.9所示的對話(huà)框中,"Jar-Name"項填入JAR包的輸出路徑。文件清單"Manifest"項不用填,默認會(huì )自動(dòng)創(chuàng )建一個(gè)。"Main-Class"項填入程序的入口類(lèi)。其他都接受默認值,單擊"下一步"。

圖7.9  輸出配置

       (3)如下圖7.10所示,窗口中將myswt項目所用到的支持包都列了出來(lái)。我們僅勾選圖中runtime.jar、swt.jar、jface.jar這三項即可,當然全選也并嘗不可,只是最后得到的JAR包會(huì )更大一些,因為Fat Jar會(huì )將所有支持包合并在一個(gè)JAR包中。

圖7.10  選擇要打包的文件

單擊圖7.10的"完成"按鈕后, JAR包myswt.jar將輸出到D:\myswt_applicationh目錄中。和以前一樣,要運行此JAR包需要一個(gè)批處理文件以及本地化文件swt-win32-3063.dll,唯一不同的是不再需要Eclipse支持包,其目錄結構如下圖7.11所示:

圖7.11  目錄結構

       為什么不需要Eclipse支持包了呢?那是因為支持包已經(jīng)在myswt.jar文件中了,從下圖7.12可以看到swt.jar等都被拆散成目錄,并包含在myswt.jar包中。

圖7.12  myswt.jar的內部目錄結構

       其中META-INF目錄的MANIFEST.MF文件內容如下,可以發(fā)現和以前不同的地方是:Class-Path項沒(méi)有了。

Manifest-Version: 1.0

Created-By: Fat Jar Eclipse Plug-In

Main-Class: book.chapter_4.wizard_dialog.WizardDialog1

7.1.4  讓用戶(hù)電腦不必安裝JRE環(huán)境

       通常運行Java程序有個(gè)前提條件:用戶(hù)電腦必須先安裝JRE環(huán)境。雖然安裝JRE環(huán)境非常簡(jiǎn)單,但畢竟多了一步,算是有一點(diǎn)點(diǎn)的瑕疵。這里給出一個(gè)不必讓用戶(hù)安裝JRE環(huán)境的方法,其實(shí)現步驟如下:

       (1)將原JDK中的"jre"目錄復制到"D:\myswt_application\java1.4.2"目錄下(java1.4.2也可換成其他名稱(chēng))。

(2)將JDK和JRE從本機卸載掉,這樣表示本機沒(méi)有安裝JAVA運行環(huán)境。

(3)修改批處理文件run.bat中的命令為"start java1.4.2\jre\bin\javaw -jar myswt.jar",僅僅是在javaw前加上了一個(gè)相對應路徑。

雙擊run.bat即可在不安裝JRE環(huán)境的電腦運行此Java應用程序。

7.1.5  更進(jìn)一步的完善

1、拋棄批處理文件(*.bat)

用批處理文件運行程序似乎不夠專(zhuān)業(yè),雖然它足以完成運行任務(wù)。但習慣就象一種毒藥一旦染上就很難擺脫它的影響,Windows統治下的人們早已經(jīng)習慣運行擴展名是EXE的程序,用*.bat他們就會(huì )感覺(jué)別扭。

我們可以用一個(gè)叫JavaLauncher的免費小程序來(lái)代替批處理文件去運行Java程序。JavaLauncher的下載網(wǎng)址是:

http://www.rolemaker.dk/nonRoleMaker/javalauncher/marner_java_launcher.htm

下載下來(lái)的文件是一個(gè)名JavaLauncher.zip的壓縮包,解壓后的目錄結構如下圖7.13所示:

圖7.13  JavaLauncher.zip目錄結構

在上圖的目錄中

l           source目錄包含了JavaLauncher的源程序,是用C語(yǔ)言寫(xiě)的

l           changes.txt是新版的修改說(shuō)明

l           launch.exe是主程序

l           launcher.cfg是配置文件

l           readme.txt是一些說(shuō)明和示例

我們只需要launch.exe、launcher.cfg兩個(gè)文件,將這兩個(gè)文件復制到打包文件所在的目錄。launcher.cfg是一個(gè)僅三行內容的文本文件,將它修改如下:

.

.\java1.4.2\jre\bin\javaw.exe

-jar myswt.jar

l           第一行設置指向JAR包myswt.jar的目錄,由于launch.exe和myswt.jar同在一個(gè)目錄,所以用"."即當前目錄。

l           第二行設置指向jre\bin\javaw.exe的路徑。在上一小節(7.1.4節)已將jre目錄復制到了java1.4.2子目錄中

配置好launcher.cfg后,雙擊launch.exe即可運行java應用程序。

如果仔佃研究eclipse的啟動(dòng)方式,發(fā)現eclipse和JavaLauncher的原理一樣:eclipse.exe相當于launch.exe,startup.jar相當于myswt.jar。只不過(guò)eclipse.exe不象launch.exe要具有通用性,所以它沒(méi)有*.cfg這樣的配置文件,而是將啟動(dòng)信息固化在eclipse.exe中。

2、美化圖標

launch.exe文件的圖標太單調了,讓我們給它換個(gè)好看點(diǎn)的。換程序的圖標需要用到一個(gè)免費的軟件:Resource Hacker,它有中文版,下載網(wǎng)址是:

http://www.users.on.net/johnson/resourcehacker/

用Resource Hacker來(lái)替換launch.exe的圖標的步驟如下:

(1)運行Resource Hacker,得到如下圖7.14所示的窗口。

圖7.14  Resource Hacker的主界面

(2)單擊主菜單"文件→打開(kāi)",將launch.exe載入到程序中,結果如下圖7.15所示。

圖7.15  載入Lanunch.exe之后的界面

(3)如上圖,選擇左邊的"圖標→1→1030",然后右鍵單擊"1030"項,選擇"替換資源..."。如下圖7.16所示,在彈出窗口中單擊"打開(kāi)新圖標文件",選擇一個(gè)滿(mǎn)意的圖標,然后單擊"替換"按鈕。

附注:圖標文件可以是exe、dll、res、ico,該軟件可以從exe、dll、res抽取出圖標,本例選擇的是java的一個(gè)圖標文件JavaCup.ico。

圖7.16  選擇圖標文件

(4)如下圖7.17所示,選擇"文件→另存為",取名myswt.exe。

附注:按理說(shuō)選擇"保存"也是可以的,這時(shí)Resource Hacker會(huì )將老的launch.exe備份成launch_original.exe。但也許是刷新上有問(wèn)題,用"保存"方式有時(shí)launch.exe無(wú)法顯示出新圖標,但有時(shí)又可以。

圖7.17  保存修改

(5)最后的目錄如下圖7.18所示,可見(jiàn)myswt.exe(也就是launch.exe改了個(gè)名稱(chēng))的圖標換成了Java的圖標。雙擊myswt.exe即可運行Java應用程序。

圖7.18  最后的效果

3、最后的打包

發(fā)送給用戶(hù)之前,通常要用WinZip或WinRAR將所有的文件全部打成一個(gè)壓縮包,然后用戶(hù)得到這個(gè)壓縮包后,將其解壓縮后即可運行程序,Eclipse軟件就是這種方式。

另一種方式是用InstallShield、InstallAnyWhere這樣的安裝程序制作軟件來(lái)創(chuàng )建一個(gè)單一的setup.exe文件,它具有向導式的安裝界面,而且還可以往windows的程序欄插入菜單項,關(guān)于這些安裝程序制作軟件的具體使用請參閱相關(guān)書(shū)籍。

本站僅提供存儲服務(wù),所有內容均由用戶(hù)發(fā)布,如發(fā)現有害或侵權內容,請點(diǎn)擊舉報。
打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
猜你喜歡
類(lèi)似文章
制作精簡(jiǎn)的jar包
java打包成可執行的jar或者exe的詳細步驟
java 打包
Eclicpse3.1.1下配置SWT,打包發(fā)布SWT程序,轉EXE
用Java SE 6.0實(shí)現高質(zhì)量桌面集成開(kāi)發(fā)
Ant打可執行jar包指南
更多類(lèi)似文章 >>
生活服務(wù)
分享 收藏 導長(cháng)圖 關(guān)注 下載文章
綁定賬號成功
后續可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服

欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久