Java - Duda JDK en mac

 
Vista:
Imágen de perfil de ADRIAN

Duda JDK en mac

Publicado por ADRIAN (2 intervenciones) el 16/12/2014 19:33:52
Tengo un pequeño problema, siempre he programado en Linux o bien en Windows y muy recientemente lo hago desde un mac. Al ir a ejecutar mi programa(El más sencillo de todos por probar alguno) en mac y tras haber instalado la última versión del JDK me da el siguiente error:

"Error: no se ha encontrado o cargado la clase principal Hello.class"

Al ejecutar el archivo .java si que me crea el ejecutable .class pero después aparece el error. Este sería el programa:

package paquete;
public class Hello{
public static void main(String[] args) {
System.out.println("Hola como estás");
}
}


Y esta la secuencía de comandos introducida:

javac Hello.java
java Hello.class
Error: no se ha encontrado o cargado la clase principal Hello.class


Si alguien tiene cinco minutos para resolverme la duda, lo agradeceré! Un saludo!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 144
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

Duda JDK en mac

Publicado por Thanatos (97 intervenciones) el 17/12/2014 04:38:35
El comando de ejecución que utilizaste no hace referencia al package paquete donde se encuentra el archivo Hello.class, en otras palabras el compilador no puede encontrar el archivo .class que quieres ejecutar.
Cuando se utilizan paquetes, que desde el punto de vista de los ficheros son sólo carpetas, debes especificar la ruta que forman los paquetes utilizando puntos como separadores, al ejecutar el programa.

Supongamos que guardo mis programas en una carpeta del escritorio de Windows, llamada "proyectos", la ruta a esta carpeta sería:

C:\Users\Thanatos\Desktop\proyectos

Dentro de esa carpeta crearé una carpeta llamada ProyectoHello, y dentro de ésta crearé otra carpeta con el nombre paquete, ésta última cumple con la primera sentencia de tu código, en la que declaraste el package paquete. Guardaré el código dentro de la carpeta "paquete":

C:\Users\Thanatos\Desktop\proyectos\ProyectoHello\paquete\Hello.java

Para compilar el código, ubicaré la ruta de trabajo de la consola en la carpeta raíz del proyecto, en este caso: ProyectoHello:

C:\Users\Thanatos\Desktop\proyectos\ProyectoHello>

Para compilar:

C:\Users\Thanatos\Desktop\proyectos\ProyectoHello>javac paquete\Hello.java

Para ejecutar:

C:\Users\Thanatos\Desktop\proyectos\ProyectoHello>java paquete.Hello

Como puedes ver en anterior comando, el punto se utiliza como separador en los paquetes en lugar de un slash ( \ ). Si la ruta de los paquetes tiene varios niveles, sólo necesitarás escribir la ruta separada por puntos. Esta forma de especificar la ruta hacia el archivo class que se quiere ejecutar, también se utiliza en la consola de mac.

Saludos...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
2
Comentar
Imágen de perfil de ADRIAN

Duda JDK en mac

Publicado por ADRIAN (2 intervenciones) el 17/12/2014 11:37:30
Joder muchas gracias de verdad, estuve ayer el día entero y no conseguí sacarlo! Gracias de verdad! Un saludo!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar