JAR vs WAR
JAR ir WAR yra dviejų tipų failų archyvai. Tiksliau sakant, WAR failas taip pat yra JAR failas, tačiau jie naudojami skirtingiems tikslams. JAR failai yra kaip gerai žinomi ZIP failai. Jie gali būti naudojami bet kokiam bendrosios paskirties archyvavimui, tačiau populiariausias JAR failų naudojimas yra jų naudojimas kaip „Java“klasės failų ir išteklių failų, kurie sudaro „Java“programą, konteineriai. WAR failai naudojami specialiai žiniatinklio programoms diegti.
Kas yra JAR?
JAR (Java ARCHYVAS) yra failų archyvas, kuriame yra daug kitų failų. „Java“kūrėjai dažniausiai naudoja JAR failus, kad platintų „Java“programas arba „Java“bibliotekas, naudodami JAR failus kaip „Java“klasės failų ir atitinkamų išteklių failų konteinerius (t.e. teksto, garso, vaizdo ir kt.). Gerai žinomas failų archyvavimo formatas ZIP yra pagrindas, kuriuo remiantis kuriamas JAR failas. Norėdami išgauti JAR failų turinį, vartotojai gali naudoti JDK (Java Development Kit) komandą jar arba įprastą ZIP programinę įrangą. JAR failai yra labai patogus būdas atsisiųsti visą žiniatinklio programą į vieną failą, neatsisiunčiant visų žiniatinklio programą sudarančių failų atskirai. Kad galėtų skaityti/rašyti JAR failus, Java kūrėjai naudoja java.util.zip pakete esančias klases. Jei JAR failas turėtų būti vykdomas kaip atskira programa, viena iš klasių aprašo failo įrašuose bus nurodyta kaip „pagrindinė“klasė. Vykdomus JAR failus galima paleisti naudojant java komandą su atributu jar (t. y. java -jar foo.jar).
Kas yra KARAS?
WAR (žiniatinklio programų archyvas) yra JAR failas, naudojamas kaip žiniatinklio programų išteklių failų (kurie sudaro žiniatinklio taikomąją programą), pvz., JSP (Java serverio puslapiai), servletai, klasės failai, XML, talpykla. failus ir žiniatinklio (HTML) puslapius. WAR failai identifikuojami pagal jų.war failo plėtinį. Juos sukūrė Sun Microsystems (originalūs Java programavimo kalbos kūrėjai). Skaitmeniniai parašai, naudojami JAR failuose (kad būtų patikėtas kodas), taip pat gali būti naudojami WAR failuose.
WAR failas viduje suskirstytas į specialių katalogų hierarchiją. WAR faile esančios žiniatinklio programos struktūra apibrėžta faile web.xml (kuris yra /WEB-INF kataloge). Web.xml taip pat aprašo, kuris URL yra susietas su kuriuo serveriu. Jie taip pat apibrėžia kintamuosius, kurie pasiekiami serverio viduje, ir priklausomybes, kurias reikia nustatyti. Tačiau jei WAR faile yra tik JSP failai, failas web.xml yra neprivalomas.
Kuo skiriasi JAR ir WAR?
JAR failų plėtinys yra.jar, o WAR failų plėtinys yra.war. Tačiau WAR failas yra tam tikras JAR failo tipas. JAR failuose yra klasių failų, bibliotekų, išteklių ir nuosavybės failų. WAR failuose yra servletų, JSP puslapių, HTML puslapių, „JavaScript“kodavimo. JAR failai naudojami visai Java (darbalaukio) programai archyvuoti, o WAR failai naudojami žiniatinklio programoms diegti.