Error: Could not find or load main class

_LuZBeL_

Quiero ejecutar un java en CMD pero me sale este error:

Error: Could not find or load main class Suma
Caused by: java.lang.ClassNotFoundException: Suma

Creo la Suma.class y luego le doy a java Suma y me sale el error este anterior. Sin embargo si pongo esto java -cp . Suma si que me funciona el programa.

He creado el txt luego el .java y .class, todos en el escritorio(desktop) pongo el dir y están ahí, pero no me lo ejecuta.

Dejo esto sacado del CMD

spoiler

en CLASSPATH tengo esto C\Program Files\Java\jdk-21\src.zip
y en path

En netbeans puedo hacerlo sin problemas, pero estaba practicando un curso un poco mas básico y empiezo mal.

paulinho

Con java -cp . te funciona porque le estás modificando la classpath al directorio en el que te encuentras.

2 respuestas
_LuZBeL_

#2 eso mismo me decía chatGPT pero no se que modificar xd

Morkar

como dice #2 con -cp .: Le dices a Java explícitamente que incluya el directorio actual en el classpath, asegurando que pueda encontrar y cargar la clase Suma.

Y usar -cp es la recomendación de Oracle:

https://docs.oracle.com/javase/tutorial/essential/environment/paths.html

1 1 respuesta
_LuZBeL_

#4 era porque los ejercicios que estaba usando no usaban el -cp . y pensaba que tenia algo mal configurado, cuando pongo dir y me aparece Suma.class pero no me lo encuentra usando java Suma tengo que especificarle java -cp . Suma. Puede que sea una version antigua, los ejercicios tienen 6 años o 7.

Usuarios habituales

  • _LuZBeL_
  • Morkar
  • paulinho