Java is a high-level, general-purpose programming language that is used to develop applications for various domains. Java is popular due to multiple reasons. The Java source code compiles to an intermediate code called a bytecode. Any platform with a Java Virtual Machine (JVM) can execute this bytecode. Therefore, Java is platform independent. Moreover, Java is robust, secure and supports multithreading. Two types of files that are related to Java programming are JAR and WAR.
Key Areas Covered
JAR, Java, JVM, WAR
What are JAR Files
A JAR file is a file that contains all components to make a self-contained executable Java application. Moreover, a JAR file includes compiled Java source code, manifest file, XML based configuration data, JSON based data files, images and audio. It is an aggregation of all these files into a single, compressed file. Compressing all the files helps to reduce the size of the application. Furthermore, it makes it easier to move the JAR file over the network between different platforms.
Every Java Development Kit (JDK) includes a JAR utility to support JAR files. It allows creating new JAR files with a manifest file and extracting all the content of a JAR file onto the file system. Moreover, JAR utility helps to update existing JAR files.
What are WAR Files
There are two methods to deploy a WAR file: by using the server control panel or by manually having the war file in a specific folder of the server. If the programmer wants to deploy a WAR file in a server such as Apache Tomcat manually, he can go to the webapps directory of Tomcat and paste the WAR file in that directory. If not, when running the web project, the server extracts the WAR file internally.
Difference Between JAR and WAR Files
A JAR file is a file with Java classes, associated metadata and resources such as text, images aggregated into one file. A WAR file is a file that is used to distribute a collection of JAR files, JSP, Servlet, XML files, static web pages like HTML and other resources that constitute a web application. Thus, this explains the main difference between JAR and WAR Files.
JAR file stands for Java Archive. WAR file stands for Web Application Resource or Web Application Archive.
Moreover, a JAR file has the .jar file extension while a WAR file has the .war file extension.
Their usage attributes to another difference between JAR and WAR Files. That is; a JAR file allows Java Runtime Environment (JRE) to deploy an entire application including the classes and the associated resources in a single request. On the other hand, a WAR file allows testing and deploying a web application easily.
1. “JAR (File Format).” Wikipedia, Wikimedia Foundation, 26 Aug. 2018, Available here.
2. “What Is JAR File (Java Archive)? – Definition from WhatIs.com.” TheServerSide.com, Available here.
3. “WAR (File Format).” Wikipedia, Wikimedia Foundation, 13 July 2018, Available here.