Search Authority

How to Run a Java Program in CMD: Step-by-Step Guide

Running a Java program from the command line gives you precise control over classpaths, JVM options, and startup behavior. Using cmd on Windows is straightforward once you under...

Mara Ellison Jul 25, 2026
How to Run a Java Program in CMD: Step-by-Step Guide

Running a Java program from the command line gives you precise control over classpaths, JVM options, and startup behavior. Using cmd on Windows is straightforward once you understand the required steps and paths.

This guide walks through verifying your setup, compiling, and executing Java code directly in cmd, with clear examples and reference information.

Action Command Example Purpose Notes
Check Java version java -version Verify installed runtime Confirms Java is available
Check javac javac -version Verify compiler Required to compile .java files
Compile program javac Hello.java Generate .class bytecode Produces Hello.class
Run program java Hello Launch the application Omit .class extension, use classpath if needed

Setting Up Java and Cmd Environment

Verify Java Installation

Before you run a Java program in cmd, confirm that Java is installed and accessible. Open cmd and run java -version and javac -version. If these commands return version details, your runtime and compiler are ready. If not, add the JDK bin directory to your system PATH so cmd can locate Java executables.

Configure PATH and JAVA_HOME

Set JAVA_HOME to your JDK installation folder and include %JAVA_HOME%\bin in the PATH environment variable. This setup simplifies running Java and javac from any directory in cmd. On Windows, you can edit environment variables through System Properties, ensuring consistency for future sessions.

Organize Your Project Files

Place your .java source files in a dedicated folder to avoid clutter. Use a clear folder structure, especially when dealing with packages. Keeping your code directory separate from system paths reduces naming conflicts and makes compilation and execution more predictable in cmd.

Compiling Java Programs in Cmd

In cmd, use cd to move to the folder containing your Java file. From there, run javac YourClass.java to compile. Successful compilation generates one or more .class files, which contain the bytecode the JVM will execute. Any syntax or reference errors appear in the cmd output for you to fix.

Handle Packages and Directory Structure

If your Java file declares a package, mirror that structure in folders relative to your source root. For example, a class declared as package com.example; should reside in com\example\ under your current directory. Compile from a parent directory of this structure, and reference the root package path when running the program to ensure the JVM finds your classes.

Use Explicit Classpath During Compilation

When your code depends on external libraries, include them using the -cp or -classpath option with javac. Specify the folder or JAR files containing required classes so the compiler can resolve types. Correct classpath setup at compile time prevents errors later when you run the program in cmd.

Executing Java Programs in Cmd

Basic Execution Command

After compilation, run your program with java ClassName, where ClassName is the name containing the main method. Do not include the .class extension, and ensure you are in the correct directory or specify the classpath. The JVM loads your class and calls the main method, launching the application.

Managing Classpath for Dependencies

For projects with external JARs or multiple directories, use java -cp .;lib\* ClassName to include current directory and library files. On Windows, separate entries with a semicolon. Accurate classpath configuration ensures the JVM locates your classes and all required dependencies when you run the program.

Passing Program Arguments

Append arguments after the class name to provide input or configuration to your Java program. For example, java App arg1 arg2 makes args contain "arg1" and "arg2". Handle these parameters in your main method to create flexible command-line behavior directly from cmd.

Troubleshooting Common Issues

Class Not Found or NoClassDefFoundError

Verify that you are in the correct directory and that your classpath includes the location of your .class files. Check package declarations and folder alignment, and ensure you are not accidentally shadowing class names with duplicates.

Main Method Not Found or Runtime Errors

Confirm your class contains a valid public static void main(String[] args) method with the exact signature. Also check for mismatched class names and file names, and review any exceptions printed by the JVM to identify underlying problems.

Key Takeaways for Running Java in Cmd

  • Verify Java installation by checking java and javac versions in cmd.
  • Set JAVA_HOME and update PATH for consistent command-line access.
  • Organize source files to match package structure before compiling.
  • Use javac to compile and java to run, managing classpath for dependencies.
  • Handle command-line arguments in your main method for flexible execution.
  • Diagnose common errors by checking classpath, class names, and package layout.

FAQ

Reader questions

Why do I get 'Error: Could not find or load main class' when running my program?

This error typically means the classpath is incorrect or the class name is misspelled. Ensure you are running the command from the directory that contains your package root, include -cp if needed, and verify the class name matches exactly, including case.

Can I run a Java program that uses external libraries from cmd?

Yes, use the -cp or -classpath option and list the folders or JAR files containing the required classes. For example, java -cp .;lib\library.jar App allows the JVM to resolve both your code and third-party dependencies.

How do I run a Java program that is inside a package from cmd?

Use the fully qualified name including the package, such as java com.example.App . Navigate to the parent directory of the package root and ensure the folder structure matches the package declaration to let the classloader locate your class.

What should I do if my Java program compiles but fails at runtime in cmd?

Check for runtime exceptions printed in the console, validate input arguments, and confirm file or network resources are accessible. Review logs and adjust code or environment variables as needed, then recompile and run from cmd.

Related Reading

More pages in this topic cluster.

How to Tell the Difference Between Silver and Aluminum (Silver vs Aluminum)

Spotting the difference between silver and aluminum helps you verify purchases, appraise items, and avoid overpaying for misidentified metals. While they look similar at first g...

Read next
Excel Keyboard Shortcut for Strikethrough: Easy Step-by-Step Guide

Mastering the Excel keyboard shortcut for strikethrough helps you track completed tasks, revisions, and action items without leaving the keyboard. This small efficiency habit sp...

Read next
Durham NC News Today: Latest Headlines & Updates

Durham NC news keeps the Research Triangle region informed about breakthrough healthcare, education, and downtown development. Local reporting connects residents and visitors to...

Read next