Skip to content

Creating jar files

A JAR (Java Archive) file bundles compiled Java classes, metadata, and resources into a single file. It uses the ZIP format.

Basic commands:

Create a JAR:

Terminal window
jar cf myapp.jar -C bin/ .
  • c – create archive
  • f – specify file name
  • -C – change directory before adding files

View contents:

Terminal window
jar tf myapp.jar
  • t – table of contents

Extract:

Terminal window
jar xf myapp.jar
  • x – extract

Create an executable JAR (with a main class):

  1. Create a manifest file manifest.txt:
Main-Class: com.example.Main
  1. Build JAR with manifest:
Terminal window
jar cfm myapp.jar manifest.txt -C bin/ .
  • m – include manifest information

Run executable JAR:

Terminal window
java -jar myapp.jar

Using jar with --main-class (Java 9+):

Terminal window
jar --create --file myapp.jar --main-class com.example.Main -C bin/ .

Common options:

OptionDescription
-vverbose output
-C dirchange directory
-especify main class (alternative to manifest)

Maven/Gradle typically handle JAR creation automatically.