Java Packages with JAR and Classpath

What is a Package?

A package in Java is a namespace that groups related classes and interfaces. It avoids name conflicts and helps organize code better.

Types of Packages

  • Built-in packages: java.util, java.io, java.sql etc.
  • User-defined packages: Custom packages created by the programmer.

1️⃣ Create a User-Defined Package

File: MyClass.java

package mypackage;

public class MyClass {
  public void show() {
    System.out.println("Welcome to my package");
  }
}

2️⃣ Compile the Package

javac -d . MyClass.java

This creates a folder named mypackage with MyClass.class inside.

3️⃣ Create a JAR File

jar cf mypackage.jar mypackage

This creates mypackage.jar file containing your package.

4️⃣ Set the Classpath

set CLASSPATH=.;mypackage.jar   (Windows)
export CLASSPATH=.:mypackage.jar   (Linux/Mac)

Or compile with classpath:

javac -cp mypackage.jar Test.java

5️⃣ Import and Use the Package

File: Test.java

import mypackage.MyClass;

class Test {
  public static void main(String[] args) {
    MyClass obj = new MyClass();
    obj.show();
  }
}

6️⃣ Run the Program

java -cp .;mypackage.jar Test   (Windows)
java -cp .:mypackage.jar Test   (Linux/Mac)
Next: Java Import Statement →