JAR vs WAR
-
Full Form:
- JAR = Java ARchive
- WAR = Web ARchive
-
Purpose
- JAR = Standalone Java apps or libraries
- WAR = Web applications for servers
-
Contents
- JAR = .class files, resources, META-INF
- WAR = Web files (HTML/JSP), WEB-INF, classes, libraries
-
Deployment:
- JAR = Run with java -jar
- WAR = Deploy on web server (Tomcat, JBoss)
-
Execution:
- JAR = Executable (if Main-Class present)
- WAR = Server-managed, not directly executable
-
Scope:
- JAR = Desktop/CLI apps, libraries
- WAR = Web apps (servlets, JSP, REST APIs)
-
Relationship:
- WAR often contains JARs inside WEB-INF/lib.
- JAR = Java app/library
- WAR = Web app for server