JAR stands for Java Archive and refers to the packaged output from building/compiling a Java application – it ends with the .jar
extension. A JAR file is essentially a ZIP file that contains compiled Java class files and other metadata, including a manifest file that specifies information about the package.
You can run JAR files as programs by loading them into Java runtime. Packages, based on their purpose, can be run as an executable from the command line, as a desktop application, or as a library as part of a bigger Java application.
To increase the security of distributable JAR files, they may be digitally signed with a signing key. Every time a checksum is generated in the archive, it is signed. When a JAR file is loaded during runtime, the signatures are validated against the checksums.
JAR files may also be obfuscated with obfuscation tools to make reverse engineering more difficult.
An example of running a JAR file as an executable from the command line is: