Error en compilación fuera del IDE (novatillo)

brulics
05 de Abril del 2008
Hola a todos.

Estoy empezando a hacer mis primeras pruebas (chispas :-D) en java.

Tengo instalado netbeans 6 y he creado el típico "hola mundo".

Lo compilo dentro de netbean y no hay problema.

El caso es que en la consola trato de ejecutar el archivo y me da error:

~/netbean/pruebas_java/build/classes/pruebas_java$ java HolaMundo
Exception in thread "main" java.lang.NoClassDefFoundError: HolaMundo (wrong name: pruebas_java/HolaMundo)
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(Unknown Source)
at java.security.SecureClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.access$000(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClassInternal(Unknown Source)

Supongo que será cosa del dichoso CLASSPATH, pero no se como solucionarlo.

Espero me podáis ayudar.

Gracias a todos.

hadrien
05 de Abril del 2008
Debes configurar el Path. En Windows XP es: Mi PC --> botón derecho encima --> Propiedades --> Opciones avanzadas -> Variables de entorno --> Variables de sistema --> Path
Ahí debes copiar la ruta del hasta tu carpeta bin de java.
Luego, desde la consola, accede al directorio donde está tu main en java y ejecuta:
javac main.java (para compilar)
java main (para ejecutar)

Saludos.

ozito
05 de Abril del 2008
Brulics,

No es un problema del Classpath, es un problema de paquetes...

Prueba a ir al directorio:
~/netbean/pruebas_java/build/classes/
y poner:
java pruebas_java/HolaMundo

Así le dices a Java que ejecute la clase HolaMundo del paquete pruebas_java.

De todas formas, desde dentro de NerBeans si pulsas 'shift+F6' en el editor de clases podrás ejecutarla en su propia consola.