ClassNotFoundException

java.lang.ClassNotFoundException: com.example.MyClass

Quick Answer

The JVM cannot find the specified class at runtime. The class is missing from the classpath or the name is misspelled.

Why This Happens

ClassNotFoundException is thrown by Class.forName(), ClassLoader.loadClass(), or similar reflective loading when the class is not on the classpath. This differs from NoClassDefFoundError, which means the class was available at compile time but not at runtime.

The Problem

// Class not on classpath or name misspelled
Class<?> clazz = Class.forName("com.example.MissingClass");

The Fix

// Ensure the JAR containing the class is on the classpath
// Check for typos in the fully qualified class name
try {
    Class<?> clazz = Class.forName("com.example.MyClass");
} catch (ClassNotFoundException e) {
    System.err.println("Class not found: " + e.getMessage());
}

Step-by-Step Fix

  1. 1

    Identify the missing class

    Read the exception message to find the fully qualified class name that could not be found.

  2. 2

    Check the classpath

    Verify that the JAR or directory containing the class is included in the classpath. Check your build tool (Maven/Gradle) dependencies.

  3. 3

    Fix the class name or dependency

    Correct any typos in the class name, or add the missing dependency to your pom.xml or build.gradle.

Bugsly catches this automatically

Bugsly's AI analyzes this error pattern in real-time, explains what went wrong in plain English, and suggests the exact fix — before your users even report it.

Try Bugsly free