Vad är filformatet WAR?
.war (Java Web Archive) är ett arkivformat som liknar en JAR-fil, byggt på den standardiserade ZIP-containern. .war-filer innehåller Java-webbapplikationer och komponenter på serversidan som kan driftsättas och köras på en servlet-container såsom Apache Tomcat eller Jetty. Förutom kompilerade .class-filer kan arkivet lagra ytterligare resurser som ska köras på servern, inklusive .jsp-sidor, statisk HTML och CSS. Den obligatoriska katalogen WEB-INF/ innehåller driftsättningsbeskrivningen web.xml och en lib/-mapp för paketerade beroende-.jar-filer.
Använda .war-filer
En .war-fil kan, precis som vilket arkiv som helst, packas upp för att visa källkod och andra resurser - byt namn på den till .zip och öppna den med valfritt arkivverktyg. Exekveringsmiljön kräver dock att applikationen förblir i .war-format för driftsättning; servlet-containern hanterar klassladdning och anropsdirigering. Moderna Spring Boot-projekt levereras ofta som en fristående «fat-JAR» istället för en .war, men WAR-driftsättning förblir standard på Jakarta EE-servrar som WildFly och WebSphere. .war är webbapplikationsmotsvarigheten till .EAR-arkiv, som paketerar fullständiga företagsapplikationer.
Säkerhet & trygghet
RISK: MEDIUMEn WAR innehåller exekverbar kod på serversidan (kompilerade servlets och paketerade JAR-bibliotek), så att driftsätta en sådan kör koden på din server med serverns behörigheter. Driftsätt endast WAR-filer från betrodda källor; en skadlig eller komprometterad WAR kan innehålla ett webbskal eller sårbara beroenden. Att inspektera (byt namn till .zip) är säkert; driftsättning är det riskfyllda steget. Håll din servlet-container och WAR-filens paketerade bibliotek uppdaterade (försörjningskedjerisk, t.ex. sårbara loggningsbibliotek).
Formatdetaljer
i ett nötskal- Konqueror webbarkiv - KDE:s Konqueror kunde spara en webbsida (och resurser) som ett .war-arkiv; en sällsynt, föråldrad KDE-användning, inte det dominerande formatet.
- WAR (ljud/sample) och speldata - Några äldre verktyg använde .war för råa ljudsamplar eller arkiv för spelresurser (t.ex. vissa spelmotorer); orelaterat till Java-formatet.
Program som öppnar WAR-filer
Tekniska detaljer
djup specifikation| Containerformat | ZIP-arkiv; magiska bytes PK (0x50 0x4B 0x03 0x04) vid offset 0 - identiskt med standard-ZIP |
| Komprimeringsmetod | DEFLATE per post (ZIP-standard); enskilda poster kan vara STORED (okomprimerade) |
| MIME-typ | application/java-archive |
| Byteordning | Little-endian (ärvd från ZIP-specifikationen) |
| Krav på katalogstruktur | Måste innehålla mappen WEB-INF/ med driftsättningsbeskrivningen web.xml, samt underkatalogerna classes/ och lib/ |
| Kodning | Binär |
| Typisk filstorlek | 1 MB - 300 MB; varierar beroende på antal paketerade JAR-bibliotek och statiska resurser |
| Integritet / signering | CRC-32 per post; valfri JAR-kodsignering via META-INF/ .SF / .RSA-signaturfiler |
| Max antal arkivposter | 65 535 (standard-ZIP); ZIP64-tillägget lyfter denna gräns |
| Driftsättningsmål | Servlet-containers och Jakarta EE-applikationsservrar: Apache Tomcat, Jetty, WildFly, GlassFish, WebSphere |
| Versionsdeklaration | Servlet/Jakarta EE-specifikationsversion anges i WEB-INF/web.xml <web-app>-elementet; valfritt i META-INF/MANIFEST.MF |
| Klassisolering | Varje driftsatt WAR får en isolerad klassladdare; förhindrar bibliotekskonflikter mellan applikationer som körs samtidigt |
| Hierarki i Java EE-paketering | WAR är webbapplikationslagret; JAR innehåller bibliotek/appar; EAR (Enterprise Archive) omsluter WAR-filer och EJB-JAR-filer i en driftsättningsbar enhet |
| Plattformssupport | Plattformsoberoende; körs på alla operativsystem med en JVM och kompatibel servlet-container (Windows, Linux, macOS) |
| Hot deployment | De flesta servlet-containers stöder driftsättning eller utbyte av en WAR-fil utan fullständig omstart av servern (drop-in deployment) |
| Släppt | 1999 (Java Servlet 2.2 / J2EE 1.2) |
| Senaste version | Tracks Jakarta EE / Servlet spec (Jakarta Servlet 6.0, 2022); WAR layout itself is stable |
| Öppen standard | Ja · royaltyfri |
| Specifikation | jakarta.ee |
WAR-konverteringar
Frågor & svar
frågat av användareInga frågor än - bli den första att fråga om WAR-filer.