Foro de elhacker.net

Programación => Java => Mensaje iniciado por: zheo en 15 Abril 2004, 22:42 pm



Título: Problema ejecutando programas Java
Publicado por: zheo en 15 Abril 2004, 22:42 pm
Vamos a ver, me he bajado el SDK de la página de SUN (el último que no es beta) y también la versión gratuita del JCreator (muy buena pinta)
Creo un proyecto vacío y hago el típico hola mundo tal que así:

Código:
public class main {

public static void main(String [] args){
 
  System.out.println("Hola mundo!");
}

}
El fichero se llama main.java ya que no podría ser de otra manera ;)

Le doy a build y compila perfectamente. Le doy a ejecutar y ejecuta perfectamente.

El problema viene si lo hago desde la ventana de comando. Si lo quiero compilar funciona bien, es decir, main.java lo compila bien y lo transforma en java.class (repito, desde línea de comandos)
Pero al ejecutarlo viene la hecatombe:
Citar
Exception in thread "main" java.lang.NoClassDefFoundError: main

Más tarde, buscando un poco entre las opciones de ejecución del JCreator  veo que hay una casilla marcada llamada "use classpath" que hace que se agregen unos parámetros cuando se llama al ejecutable 'java.exe'
Estos parámetros son
Citar
-classpath "$[ClassPath]" $[JavaClass]
lo que me hace pensar que hay que darle el path al intérprete java para que sepa dónde debe buscar las clases que usa mi programa.

En el caso de que lo que digo es cierto, ¿cuáles són esos directorios de clases? 
Es que no estoy en mi ordenador y no puedo hacer muchas mariconadas con él, así que prefiero esperar a que alguien me lo confirme. No se cuales son esos directorios porque como podeis ver, el JCreator utilizar variables para representar esos directorios y para línea de comandos no me vale :(

Un saludo y gracias anticipadas.


Título: Re: Problema ejecutando programas Java
Publicado por: zheo en 16 Abril 2004, 12:51 pm
A ver, he mirado un poco más y parece que para el JCreator el path $[classpath] equivale a esto:

Citar
C:\j2sdk1.4.2_04\jre\lib\rt.jar;
C:\j2sdk1.4.2_04\lib\dt.jar;
C:\j2sdk1.4.2_04\lib\tools.jar;
C:\j2sdk1.4.2_04\jre\lib\ext\dnsns.jar;
C:\j2sdk1.4.2_04\jre\lib\ext\ldapsec.jar;
C:\j2sdk1.4.2_04\jre\lib\ext\localedata.jar;
C:\j2sdk1.4.2_04\jre\lib\ext\sunjce_provider.jar

Lo pongo por si a alguien más le sirve.
Cuando tenga mi ordenador haré unas pruebas a ver qué clases son las que necesito para programas básicos en Java en modo consola; supongo que tendré que acabar añadiendolos directorios pertinentes a la variable PATH del SO, para poder ejecutarlo tranquilamente desde línea de comandos.


Título: Re: Problema ejecutando programas Java
Publicado por: Ragnarok en 16 Abril 2004, 15:58 pm
si no me equivoco tienes que incluir en el path la ruta de los ejecutables java.exe y javac.exe. Además tienes que incluir las variables de entorno javapath y classpath. Todo esto mucho mejor explicado está en la página 3 sección 1.2.3 de "aprenda java como si estuviera en 1º" (http://www.iespana.es/quincalla/ragnarok/Java2.pdf).

Por cierto, me he descargado el sdk de java pero en la página de sun me hice un lío y he descargado dos cosas, un sdk que ocupa 88,2 MB y se llama "j2sdk-1_4_2-nb-3_5_1-bin-windows" y otro que ocupa 48,2 MB y se llama "j2sdk-1_4_2_03-windows-i586-p", el segundo no estoy seguro de que sea el sdk porque por todas partes ponía j2EE, pero no sé que es eso.

Si el link no te va es porque estoy intentando subirlo a mi página, porque no he conseguido reencontrarlo en internet.


Título: Re: Problema ejecutando programas Java
Publicado por: zheo en 16 Abril 2004, 16:32 pm
El segundo es el SDK Enterprise/Server, que se supone es para realizar aplicaciones oriantada más bien hacia las empresas.

Respecto al libro de momento me baja muy bien, si tengo algún problema editaré este mensaje. Muchas gracias (voy a acabar haciendo colección de libros de "aprenda x como si estubiera en primero" xDD


Título: Re: Problema ejecutando programas Java
Publicado por: regedit en 18 Abril 2004, 03:06 am
primero,tienes q bajarte el java sdk para poder hacer la compilacion y eso.
Solo el sdk tiene el javac. Y luego pones la ruta de la carpeta


Título: Re: Problema ejecutando programas Java
Publicado por: zheo en 18 Abril 2004, 10:42 am
Ya, elSDK estaba instalado, si no nunca hubiera podido compilar el programa, y como digo en el mensaje, eso si lo pude hacer dentro del entorno JCReator y en línea de comandos; el problema era saber cúales eran los directorios necesarios para las clases de Java, y poder ejecutar correctamente el programa en línea de comandos. Para eso tengo que añadirlos a la variable PATH del sistema.

Un saludo.