Ver Mensaje Individual
  #1 (permalink)  
Antiguo 14/11/2012, 03:38
OutbackAbbot
 
Fecha de Ingreso: noviembre-2012
Mensajes: 2
Antigüedad: 12 años, 1 mes
Puntos: 0
Las clases compiladas en NetBeans no se pueden ejecutar en la consola de Ubuntu.

Antes de nada, daros mil gracias y pediros por favor, paciencia con este novato que recién empieza a programar en Java. Informaros de los datos que creo que os servirán para ayudarme mejor en mi duda ( no cabe decir que si se necesitara de algún otro mas, pedir y estaré encantado de darlos).

S.O Ubuntu 12.04 32 bits
Ide : NetBeans 7.2.1

Resultado del comando javac -version a traves de consola:
Código:
javac 1.7.0_09
Resultado del comado java -version a traves de consola :
Código:
java version "1.7.0_09"
Java(TM) SE Runtime Environment (build 1.7.0_09-b05)
Java HotSpot(TM) Server VM (build 23.5-b02, mixed mode)
Y la duda es la siguiente:

Creo a través del IDE Netbeans el siguiente programa de prueba:
Código:
/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package holamundo;

/**
 *
 * @author outback
 */
public class HolaMundo {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        // TODO code application logic here
        System.out.println("Hola Mundo!");
    }
}
Bien despues de comprobar que el IDe no arroja ningun error ajusto el main principal a HolaMundo a traves de Run - Set Main Proyect y compilo antes comprobado en la consola de salida del IDE que todo funciona correctamente y el objeto String aparece sin problemas.
Una vez hecho esto, salgo del IDE y me dirijo mediante la consola al directorio del proyecto que NetBeans creo, y en el subdirectorio classes encuentro la clase creada llamada HolaMundo.class

Seguidamente y a traves de la consola ejecuto el comando:
java HolaMundo y el resultado es el siguiente:
Código:
Exception in thread "main" java.lang.NoClassDefFoundError: HolaMundo (wrong name: holamundo/HolaMundo)
	at java.lang.ClassLoader.defineClass1(Native Method)
	at java.lang.ClassLoader.defineClass(ClassLoader.java:791)
	at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
	at java.net.URLClassLoader.defineClass(URLClassLoader.java:449)
	at java.net.URLClassLoader.access$100(URLClassLoader.java:71)
	at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
	at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:423)
	at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:356)
	at sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:480)
Por el contrario si copio el código en un editor de textos (gEdit en mi caso) lo guardo como HolaMundo.java y seguidamente a través de consola lo compilo con el comando javac HolaMundo.java el archivo que genera esta compilación si que funciona correctamente a través de la linea de comandos.

¿Porque no puedo ejecutar los programas compilados en NetBeans en la linea de comando de Ubuntu a traves de java HolaMundo, y sin embargo segun el IDE todo esta correcto?

Un saludo, estoy mas perdido que un chino en un garaje. Lo dicho mil perdones y una ayudita para este pobrezillo novatón del java

Saludos
Out

Última edición por OutbackAbbot; 14/11/2012 a las 04:48