EAR (formát souboru) - EAR (file format)
![]() | tento článek ne uvést žádný Zdroje.Srpna 2011) (Zjistěte, jak a kdy odstranit tuto zprávu šablony) ( |
Přípona názvu souboru | .ucho |
---|---|
Vyvinul | Sun Microsystems |
Typ formátu | archiv souborů, komprese dat |
Rozšířeno z | SKLENICE |
UCHO (Epřekvapení Aaplikace aRpažitka) je formát souboru používá Java EE pro zabalení jednoho nebo více modulů do jednoho archivu, aby bylo možné nasadit různé moduly na aplikační server se děje současně a soudržně. Také obsahuje XML volané soubory deskriptory nasazení které popisují, jak nasadit moduly.
Mravenec, Maven nebo Gradle lze použít k vytváření souborů EAR.
Struktura souborů
Soubor EAR je standardem Soubor JAR (a tedy a Zip soubor) s příponou .ear, s jednou nebo více položkami představujícími moduly aplikace a s názvem adresáře metadat META-INF
který obsahuje jeden nebo více deskriptorů nasazení.
Modul
Vývojáři mohou do souboru EAR vložit různé artefakty pro nasazení aplikačními servery:
- Webový modul má .válka rozšíření. Jedná se o nasaditelnou jednotku, která se skládá z jedné nebo více webových komponent, dalších zdrojů a webová aplikace deskriptor nasazení. Webový modul je obsažen v a hierarchie adresářů a souborů ve standardním formátu webové aplikace.
- POJO Třídy Java mohou být nasazeny v .sklenice soubory.
- An Enterprise Java Bean modul má a .sklenice rozšíření a obsahuje vlastní
META-INF
deskriptory adresářů popisující zavedené trvalé třídy. Nasazené fazole entity se stanou viditelnými pro ostatní komponenty a pokud jsou vzdáleně exportovány, pro vzdálené klienty. Fazole zpráv a Fazole relace jsou k dispozici pro vzdálený přístup. - A Zdrojový adaptér modul má .rar rozšíření.
Izolace třídy
Většina aplikačních serverů načítá třídy z nasazeného souboru EAR jako izolovaný strom Java třídní nakladače, izolace aplikace od ostatních aplikací, ale sdílení tříd mezi nasazenými moduly. Například nasazený soubor WAR by byl schopen vytvořit instance tříd definovaných v souboru JAR, který byl také zahrnut v souboru EAR obsahujícím, ale ne nutně v souborech JAR v jiných souborech EAR. Jedním z klíčových důvodů tohoto chování je umožnit úplné oddělení aplikací, které používají statické singletony (např.Log4J), což by jinak zaměňovalo konfiguraci mezi samostatnými aplikacemi. To také umožňuje nasazení různých verzí aplikací a knihoven vedle sebe.
The JBoss aplikační servery před verzí 5 byly pozoruhodné v tom, že neizolují nasazené komponenty. Webová aplikace nasazená v jednom souboru EAR by měla přístup ke třídám v jiných souborech EAR a WAR. Jedná se o poněkud kontroverzní politiku. The Unified Classloader design snižuje režii komunikace mezi spuštěnými aplikacemi, protože data třídy lze sdílet pomocí odkazu nebo jednoduchých kopií. Umožňuje také vývojářům vyhnout se nutnosti porozumět problémům, které může strom třídních nakladačů vytvořit. Zabraňuje však nasazení různých verzí závislých knihoven v samostatných aplikacích. JBoss 4.0.2 přešel na hierarchický zavaděč tříd, ale ve verzi 4.0.3 se vrátil z důvodu zpětné kompatibility na Unified Classloader. Nyní existuje možnost konfigurace změnit toto chování. JBoss 5.x, 6.xa 7.x již nepoužívá Unified Classloading.
Adresář META-INF
The META-INF
adresář obsahuje alespoň application.xml
deskriptor nasazení, známý jako Deskriptor nasazení Java EE. Obsahuje následující entity XML:
ikona
, který určuje umístění pro obrázky, které představují aplikaci. Pododdělení je vytvořeno promalá ikona
avelká ikona
.zobrazované jméno
, který identifikuje aplikacipopis
- A
modul
prvek pro každý modul v archivu - Nula nebo více
bezpečnostní role
prvky pro role globálního zabezpečení v aplikaci
Každý modul
prvek obsahuje odložit
, web
nebo Jáva
prvek, který popisuje jednotlivé moduly v aplikaci. Webové moduly také poskytují a kontextový kořen
který identifikuje webový modul podle jeho URL.
Vedle deskriptoru nasazení Java EE může být nula nebo více deskriptory nasazení za běhu. Ty se používají ke konfiguraci parametrů Java EE specifických pro implementaci.