JAR vs WAR
JAR un WAR ir divu veidu failu arhīvi. Pareizāk sakot, WAR fails ir arī JAR fails, taču tos izmanto dažādiem mērķiem. JAR faili ir līdzīgi labi zināmiem ZIP failiem. Tos var izmantot jebkurai vispārējai arhivēšanai, taču visizplatītākais JAR failu lietojums ir to izmantošana kā konteineri Java klases failiem un resursu failiem, kas veido Java lietojumprogrammu. WAR faili tiek īpaši izmantoti tīmekļa lietojumprogrammu izvietošanai.
Kas ir JAR?
JAR (Java ARHĪVS) ir failu arhīvs, kurā ir daudz citu failu. Java izstrādātāji parasti izmanto JAR failus, lai izplatītu Java lietojumprogrammas vai Java bibliotēkas, izmantojot JAR failus kā konteinerus Java klases failiem un atbilstošiem resursu failiem (t.e. teksts, audio, video utt.). Labi zināms failu arhivēšanas formāts ZIP ir pamats, uz kura tiek veidots JAR fails. Lai izvilktu JAR failu saturu, lietotāji var izmantot JDK (Java izstrādes komplekta) komandu jar vai parasto ZIP programmatūru. JAR faili ir ļoti ērts veids, kā vienā failā lejupielādēt visu tīmekļa lietojumprogrammu, atsevišķi nelejupielādējot visus failus, kas veido tīmekļa lietojumprogrammu. Lai lasītu/rakstītu JAR failus, Java izstrādātāji izmanto java.util.zip pakotnē esošās klases. Ja ir paredzēts, ka JAR fails jāizpilda kā atsevišķa lietojumprogramma, manifesta faila ierakstos viena no klasēm tiks norādīta kā “galvenā” klase. Izpildāmos JAR failus var palaist, izmantojot java komandu ar atribūtu jar (t.i., java -jar foo.jar).
Kas ir KARŠ?
WAR (tīmekļa lietojumprogrammu arhīvs) ir JAR fails, ko izmanto kā konteineru tīmekļa lietojumprogrammu resursu failu grupai (kas veido tīmekļa lietojumprogrammu), piemēram, JSP (Java servera lapas), servletus, klases failus, XML. failus un tīmekļa (HTML) lapas. WAR faili tiek identificēti pēc to.war faila paplašinājuma. Tos izstrādāja Sun Microsystems (sākotnējie Java programmēšanas valodas izstrādātāji). Ciparparakstus, ko izmanto JAR failos (lai uzticētu kodu), var izmantot arī WAR failos.
WAR fails ir iekšēji sakārtots īpašu direktoriju hierarhijā. WAR failā esošās tīmekļa lietojumprogrammas struktūra ir definēta failā web.xml (kas atrodas /WEB-INF direktorijā). Web.xml arī apraksta, kurš URL ir saistīts ar kuru servletu. Tie arī nosaka mainīgos lielumus, kas ir pieejami serverletā, un atkarības, kas jāiestata. Tomēr, ja WAR failā ir tikai JSP faili, Web.xml fails nav obligāts.
Kāda ir atšķirība starp JAR un WAR?
JAR failiem ir.jar faila paplašinājums, savukārt WAR failiem ir.war paplašinājums. Taču WAR fails ir īpašs JAR faila veids. JAR faili satur klases failus, bibliotēkas, resursus un rekvizītu failus. WAR faili satur servletus, JSP lapas, HTML lapas, JavaScript kodējumu. JAR faili tiek izmantoti, lai arhivētu visu Java (darbvirsmas) lietojumprogrammu, savukārt WAR faili tiek izmantoti tīmekļa lietojumprogrammu izvietošanai.