1. 程式人生 > >Java中Ear、Jar、War檔案之間有何不同?

Java中Ear、Jar、War檔案之間有何不同?

JAR

WAR

EAR

英文 Java Archive file   Web Archive file Enterprise Archive file
包含內容 class、properties檔案,是檔案封裝的最小單元; Servlet、JSP頁面、JSP標記庫、JAR庫檔案、HTML/XML文件和其他公用資原始檔,如圖片、音訊檔案等; 除了包含JAR、WAR以外,還包括EJB元件
部署檔案 application-client.xml web.xml   application.xml
級別

=================================================================

這三種檔案都可以看作是java的壓縮格式,其實質是實現了不同的封裝:

jar--封裝類 war--封裝web站點 ear--封裝ejb。 它們的關係具體為: jar:      是java Achieve--按java格式壓縮的類包,包含內容 class、properties檔案,    是檔案封裝的最小單元 級別:小 war:     是file web Achieve--包含Servlet、JSP頁面、JSP標記庫、JAR庫檔案HTML/XML文件和其他公用資原始檔,如圖片、音訊檔案等 級別:中 ear:    是 file Enterprise Achieve--除了包含JAR、WAR以外,還包括EJB元件   部署檔案 application-client.xml web.xml application.xml    級別:大 一個web元件開發者執行以下的任務來傳遞一個包含web元件的WAR檔案: | 編寫並編譯servlet原始碼 | 編寫jsp、html檔案 | 指定web的開發描述符 | 邦定.class,.jsp,.html和部署描述符到一個WAR檔案。 以最終客戶的角度來看,.jar檔案就是一種封裝,他們不需要知道.jar檔案中有多少個.class檔案,每個檔案中的功能與作用,同樣可以得到他們希望的結果。除jar以外對於j2ee來說還有war和ear。 ear中可以包含war,jar檔案。jar檔案可以將ejb包含其中。war可以將web元件包含其中。  
jar表示java的標準檔案檔案,有一個有趣的雙關語:a   jar   of   beans(一罐豆子)。 在檔案結構上,三者並沒有什麼不同,它們都採用zip或jar檔案檔案壓縮格式。但是它們的使用目的有所區別:

  Jar檔案

(副檔名為. Jar)包含Java類的普通庫、資源(resources)、輔助檔案(auxiliary files)等

  War檔案(副檔名為.War)包含全部Web應用程式。在這種情形下,一個Web應用程式被定義為單獨的一組檔案、類和資源,使用者可以對jar檔案進行封裝,並把它作為小型服務程式(servlet)來訪問。

  Ear檔案(副檔名為.Ear)包含全部企業應用程式。在這種情形下,一個企業應用程式被定義為多個jar檔案、資源、類和Web應用程式的集合。

  每一種檔案(.jar, .war, .ear)只能由應用伺服器(application servers)、小型服務程式容器(servlet containers)、EJB容器(EJB containers)等進行處理。]

所有的包都是用jar打的,只不過目標檔案的副檔名不一樣。

ear包:企業級應用,通常是EJB打成ear包。 ear是J2ee的應用檔案的副檔名 是Enterprise Application Achiever,
是打包了的企業應用程式,裡面可包含war(web Application archiever),ejb等 ear包:企業級應用,通常是EJB打成ear包。
war包:是做好一個web應用後,通常是網站,打成包部署到容器中。


jar包:通常是開發時要引用通用類,打成包便於存放管理。

=============================================================

在快速啟動欄中的“顯示桌面”圖示,有時會不小心誤操作而弄丟失了,如果我們知道了“顯示桌面”的圖示檔案是如何產生的,我們就可以非常輕鬆的找回來了。
在快速啟動欄中的圖示,可以說基本上都是快捷方式,而“顯示桌面”卻是原始檔存放在這裡,這個檔案是.scf字尾的檔案,可以用記事本開啟,裡面的內容是
Shell]
Command=2
IconFile=explorer.exe,3
[Taskbar]
Command=ToggleDesktop
所以我們只要新建一個文字檔案,儲存以上內容,將字尾改為.scf,存放在快速啟動欄的目錄下:
C:\Documents and Settings\當前使用者名稱\Application Data\Microsoft\Internet Explorer\Quick Launch
這樣就OK了

還有一個更簡單的方法是:在“執行”對話方塊中輸入“REGSVR32 /n /i:u shell32”(不含雙引號),然後回車,片刻後會彈出“shell32中的DllInstall成功”對話方塊,“顯示桌面”按鈕就出現了。