Si la clase está en un paquete
package thepackagename;
public class TheClassName {
public static final void main(String[] cmd_lineParams) {
System.out.println("Hello World!");
}
}
Luego llamando:
java -classpath . TheClassName
da como resultado Error: Could not find or load main class TheClassName
. Esto se debe a que debe llamarse con su nombre completo:
java -classpath . thepackagename.TheClassName
Y este thepackagename
El directorio debe existir en el classpath. En este ejemplo, .
, es decir, el directorio actual, es la totalidad de classpath. Por lo tanto, este ejemplo en particular debe llamarse desde el directorio en el que thepackagename
existe
Para ser claros, el nombre de esta clase no es TheClassName
, es thepackagename.TheClassName
. Intentando ejecutar TheClassName
no funciona, porque no existe ninguna clase con ese nombre . No en el classpath actual de todos modos.
Finalmente, tenga en cuenta que se ejecuta la versión compilada (.class), no el código fuente ( .java) versión. Por lo tanto, "CLASSPATH".
Debe asegurarse de agregar la ubicación de su .class
archivo a su classpath. Entonces, si está en la carpeta actual, agrega .
a su classpath. Tenga en cuenta que el separador de classpath de Windows es un punto y coma, es decir, un ;
.