J2EE defines three types of archives:
- EAR
- WAR
- JAR
When Java applications are deployed, all of the files that constitute
the Java app are compressed and packaged into a single file. While compressed
files are typically given a .zip extension, the Java community instead uses
.ear, .war and .jar files.
Under the hood, EAR, JAR and WAR files are all simply zip files that contain the various images, XML files, property files and pieces of Java code that make up a Java application.
- Java
Archive (JAR) A
JAR file encapsulates one or more Java classes, a manifest, and a
descriptor. It also holds generic libraries of
Java classes, resources, auxiliary files.
- JAR files are the lowest
level of archive. JAR files are used in J2EE for packaging EJBs and client-side
Java Applications.
- Actually, jar file contains all the .class files of our java
project.
Extension- .jar
- Web
Archive (WAR) A
WAR files are similar to JAR files, except that they are specifically for
web applications made from Servlets, JSPs, and supporting classes. These
are intended to contain complete Web applications. Web
application contain all the web related Technologies like Html,Css,
Javascript , Jsp,Servlet ,Xml etc and War file is a compressed form of web
application which allows us to make that application portable. Struts and Spring based Web
applications may be archived to a WAR.
·
Extension- .war
- Enterprise Archive (EAR) An EAR file contains all
of the components that make up a particular J2EE application. are
intended to contain complete enterprise applications. In this context, an
enterprise application is defined as a collection of .jar files,
resources, classes, and multiple Web applications. An EAR
may contain one or more WAR files. EAR files can also contain connector
modules packaged as RAR files and Client modules packaged as JAR
files.
·
Extension- .ear
Summary:
An
EAR file requires a fully Java Platform, Enterprise Edition (Java EE)- or
Jakarta Enterprise Edition (EE)-compliant application server, such as WebSphere or JBoss, to run.
A WAR file only requires a Java EE Web
Profile-compliant application server to run.
A JAR file only requires a Java installation.