翻譯|使用教程|編輯:龔雪|2023-03-15 11:23:10.450|閱讀 117 次
概述:本文將為大家介紹MyEclipse創(chuàng)建第一個(gè)企業(yè)應(yīng)用程序項(xiàng)目,歡迎下載最新版IDE體驗(yàn)~
# 界面/圖表報(bào)表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
提供了一個(gè)企業(yè)應(yīng)用程序項(xiàng)目模型,即EAR項(xiàng)目模型,以及用于創(chuàng)建Java EE企業(yè)應(yīng)用程序的管理工具。由圖標(biāo)標(biāo)識(shí)的EAR項(xiàng)目是Web、應(yīng)用程序客戶端、連接器和EJB項(xiàng)目的邏輯容器,它產(chǎn)生一個(gè)單一的服務(wù)器端部署單元,稱為Java EE Enterprise Archive (EAR)。在物理上,EAR項(xiàng)目的文件夾結(jié)構(gòu)中沒有子項(xiàng)目,而是EAR項(xiàng)目維護(hù)對(duì)其組件模塊的引用。
Java EE規(guī)范將企業(yè)應(yīng)用程序的運(yùn)行時(shí)結(jié)構(gòu)定義為Java EE模塊和模塊所需的基本文件資源的集合。
最常見的Java EE模塊類型有:
EAR項(xiàng)目必須包含至少一個(gè)模塊項(xiàng)目,因此在EAR項(xiàng)目開發(fā)過程中,只要包含一個(gè)模塊項(xiàng)目,就可以根據(jù)需要添加和刪除模塊項(xiàng)目。部署企業(yè)項(xiàng)目時(shí),引用的模塊項(xiàng)目被打包到各自的存檔表單中,并作為企業(yè)存檔的模塊部署。
通常,Web模塊提供Web用戶界面服務(wù)和用戶對(duì)一個(gè)或多個(gè)EJB模塊提供的業(yè)務(wù)服務(wù)的訪問,Java EE規(guī)范將EAR定義為標(biāo)準(zhǔn)的Java EE部署單元。此外,規(guī)范允許(但不要求)應(yīng)用服務(wù)器供應(yīng)商支持其他部署形式,如獨(dú)立WAR和EJB jar。
項(xiàng)目模型與Java EE企業(yè)應(yīng)用程序模型的相似之處如下:
所有使用JavaEE 5.0以下版本的EAR項(xiàng)目都使用一個(gè)META-INF根文件夾和一個(gè)空的META-INF/application.xml部署描述符創(chuàng)建,對(duì)于使用Java EE 5或更高版本的項(xiàng)目,這個(gè)文件不是必需的,您可以選擇生成這個(gè)文件,可以根據(jù)需要修改application.xml文件。
注意:對(duì)于需要application.xml文件的Java EE版本,不要移動(dòng)或重命名該文件或META-INF文件夾,這樣做會(huì)導(dǎo)致部署失敗,項(xiàng)目元數(shù)據(jù)文件以外的所有資源都被認(rèn)為是部署的一部分。
下圖描述了 web項(xiàng)目的Resource透視圖,這個(gè)視圖顯示了項(xiàng)目的部署信息,可以使用項(xiàng)目的Deployment Assembly屬性自定義項(xiàng)目部署。
Java EE規(guī)范為企業(yè)應(yīng)用程序定義了分層Java類解析策略,這種自底向上的搜索策略如下圖所示。當(dāng)任何模塊引用Java類時(shí),其本地類加載器首先在該模塊的代碼基中搜索該類,如果在模塊本地找不到類,則模塊向上一級(jí)的類加載器發(fā)出搜索請(qǐng)求,這個(gè)過程一直持續(xù)到找到類或到達(dá)頂級(jí)Java引導(dǎo)類加載器為止(圖中沒有顯示)。
理解Java EE企業(yè)應(yīng)用程序類加載器策略很重要:類加載策略影響開發(fā)者如何選擇在Web和EJB模塊項(xiàng)目之間分發(fā)類,例如,如果有一個(gè)或多個(gè)業(yè)務(wù)數(shù)據(jù)對(duì)象在web模塊的用戶界面元素和EJB模塊的服務(wù)之間傳遞,通過在EJB模塊中定位數(shù)據(jù)對(duì)象,它們對(duì)web模塊和EJB模塊都是可見的。
導(dǎo)致類加載問題的兩個(gè)常見的項(xiàng)目組織錯(cuò)誤是:
Java EE項(xiàng)目模擬這種分層類加載器策略,為開發(fā)者提供構(gòu)建時(shí)對(duì)MyEclipse企業(yè)項(xiàng)目及其組成Web和EJB模塊項(xiàng)目的類加載器可見性的準(zhǔn)確洞察。這是使用Eclipse項(xiàng)目依賴項(xiàng)完成的,如下面的插圖所示,當(dāng)web或EJB項(xiàng)目被添加到MyEclipse EAR項(xiàng)目時(shí),項(xiàng)目依賴項(xiàng)將相應(yīng)設(shè)置。不要手動(dòng)修改這些項(xiàng)目依賴項(xiàng),這樣做可能會(huì)引入不必要的編譯問題。
注意:開發(fā)團(tuán)隊(duì)認(rèn)為,支持類加載器模擬來幫助開發(fā)人員識(shí)別難以解決的由類加載器可見性問題引起的運(yùn)行時(shí)錯(cuò)誤是一個(gè)至關(guān)重要的需求,這就是為什么MyEclipse不支持在EAR項(xiàng)目中物理嵌入模塊代碼的原因之一。相反,EAR項(xiàng)目以模塊的形式維護(hù)與單個(gè)web和EJB項(xiàng)目的關(guān)聯(lián)。
MyEclipse技術(shù)交流群:742336981 歡迎一起進(jìn)群討論
本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請(qǐng)務(wù)必注明出處、不得修改原文相關(guān)鏈接,如果存在內(nèi)容上的異議請(qǐng)郵件反饋至chenjj@fc6vip.cn
文章轉(zhuǎn)載自:慧都網(wǎng)