Estoy tratando de ejecutar un archivo test.class
desde la línea de comandos de Linux. Recopilé el archivo usando javac test.java
que produjo el archivo test.class
. Cuando ejecuto el comando java test
arroja una excepción de clase no encontrada. También traté de especificar el nombre del paquete con el mismo resultado. Aquí está la salida, ¿alguien puede ayudar? Creo que mi sintaxis es correcta según las búsquedas de Google.¿Por qué obtengo un NoClassDefFoundError cuando ejecuto un archivo de clase Java desde la línea de comandos en Linux?
[[email protected] usr]# java test
Exception in thread "main" java.lang.NoClassDefFoundError: test (wrong name: testJava/test)
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:634)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:277)
at java.net.URLClassLoader.access$000(URLClassLoader.java:73)
at java.net.URLClassLoader$1.run(URLClassLoader.java:212)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:205)
at java.lang.ClassLoader.loadClass(ClassLoader.java:321)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294)
at java.lang.ClassLoader.loadClass(ClassLoader.java:266)
Could not find the main class: test. Program will exit.
¿Cuál es el paquete declarado en su clase? Además, ¿su estructura de directorios imita la declaración del paquete? – Jeremy