Sentry Answers>Java>

What does "Could not find or load main class" mean?

What does "Could not find or load main class" mean?

Gareth D.

The Problem

After running java Main, you get the error message, “Could not find or load main class”. What does this mean?

The Solution

This error message usually means that you gave the wrong file (or no file) to java on the command line.

If you run java thisfiledoesnotexist in your terminal or command prompt, you should see the same error.

Click to Copy
Error: Could not find or load main class thisfiledoesnotexist Caused by: java.lang.ClassNotFoundException: thisfiledoesnotexist

A common cause of this error is passing in the .class file that javac creates by mistake. For example, let’s say you have the following code in a file called HelloWorld.java:

Click to Copy
public class HelloWorld { public static void main(String[] arg) { System.out.println("Hello"); } }

When you run javac HelloWorld.java, the file HelloWorld.class is produced, which is the compiled version of the program that you can execute.

But to run this program, you should use:

Click to Copy
java HelloWorld

Output:

Click to Copy
Hello

If you run:

Click to Copy
java HelloWorld.class

The output will be:

Click to Copy
Error: Could not find or load main class HelloWorld.class Caused by: java.lang.ClassNotFoundException: HelloWorld.class

Some other common mistakes that might give you this error include:

  • Using the wrong case. For example, java helloworld instead of java HelloWorld
  • Typing errors. For example java hellowrld instead of java HelloWorld
  • Using the incorrect directory. First use cd to get to the same directory as your .java and .class files, and then run java HelloWorld.
  • Sentry BlogException Handling in Java (with Real Examples)
  • Syntax.fmListen to the Syntax Podcast
  • Syntax.fm logo
    Listen to the Syntax Podcast

    Tasty treats for web developers brought to you by Sentry. Get tips and tricks from Wes Bos and Scott Tolinski.

    SEE EPISODES

Considered “not bad” by 4 million developers and more than 100,000 organizations worldwide, Sentry provides code-level observability to many of the world’s best-known companies like Disney, Peloton, Cloudflare, Eventbrite, Slack, Supercell, and Rockstar Games. Each month we process billions of exceptions from the most popular products on the internet.

© 2024 • Sentry is a registered Trademark of Functional Software, Inc.