Primer programa, me falla la compilacion

$Juan
01 de Agosto del 2003
Hola amigos. Acabo de empezar con Java: ya he descomprimido los ficheros a sus respectivas carpetas y he configurado el autoexec.bat para que me detecte el path. Mi problema es el siguiente: he escrito mi primer codigo (un simple "hola java!") con edit, compilo HolaJava.java con javac sin argumentos (sin que me devuelva ningun mensaje de error) y al ejecutar con java el HolaJava.class sin argumentos me devuelve un error que dice asi: "Exception in thread 'main' java.lang.NoClassDefFoundError: HolaJava/class"

El codigo es muy simple, quiza me haya dejado algo por escribir o quiza no he configurado algo del compilador o de las clases.

//aqui empieza
class HolaJava
{
public static void main(String args[])
{
System.out.println("Hola Java");
}
}
//aqui acaba

Gracias, seguramente mi error es muy tonto, ¡os pido comprension! ;)

oscar719
01 de Agosto del 2003
Hola $Juan:

Si has incluido la vble de entorno classpath, comprueba que le has puesto un punto y coma al final.
C:misClasesclases;
No poner el punto y coma es motivo para que te lanze esta excepcion.

Espero que te funcione. Un saludo :)

$Juan
01 de Agosto del 2003
Gracias pero no, no era este el error (creo). mira, tengo configurado autoexec asi:

set PATH=%PATH%;C:jdk1.2.1bin;
set CLASSPATH=%CLASSPATH%;C:jdk1.2.1lib;

Lo he configurado tal y como lo vi en un manual. ¿Esta mal la ruta? ¿Deberia haber configurado algun otro archivo? ¿Debo añadir algun argumento a la compilacion? Gracias por la respuesta!

oscar719
01 de Agosto del 2003
Por lo que dices supongo que tu SO es w98. Yo utilizo Xp y no se si esto sera el motivo de tu error, pero por probar...
Yo nunca he tenido que crear la variable classpath hast que no he creado mis propias clases, por lo que (al menos en mi SO) la vble classpath no me habia hecho falta para compilar y ejecutar algo. Prueba a eliminarla, tal vez te este creando algun conflicto al asignarle esa ruta.

Suerte :)

$Juan
01 de Agosto del 2003
Que va, Oscar, uso W2000 y el error es el mismo con esa variable y sin ella :'( Echare un vistazo en Google a ver si encuentro algo. Sino, probare con el jdk para linux, espero que el pinguino sea mas solidario conmigo que el windows :) Gracias por la ayuda, un saludo.

oscar719
01 de Agosto del 2003
Prueba una ultima cosa. En Windows 2000 creo recordar que las variables de entorno se establecen igual que en XP. No tienes que modificar el autoexec.bat sino que debes ir a:
MIPC/propiedades/opcionesavanzdas/vbles de entorno/
y aqui es donde tienes que añadir el path a los binarios del jdk.

A ver si ahora si...

JairuX
01 de Agosto del 2003
Importante que introduzcas los path como te han dicho antes y que ademas declares la clase publica (public class HolaJava para el archivo HolaJava.java) y que a la hora de ejecutar (no de compilar) simplemente ejecutes "java HolaJava" aunque el archivo se llame HolaJava.class. Espero que te sea de ayuda.



JairuX

zeg
01 de Agosto del 2003
Mira, es muy probable que le estes poniendo extensión al final de la clase.

shell>java HolaJava.class y por eso te saca el error.
ejecutalo solo con
shell>java HolaJava sin el .class

Julio
01 de Agosto del 2003
yo tambien inicio en esto de java, pero ya ejecute desde el DOS tus instrucciones y si me da la respuesta de Hola Java. verifique que el nombre de archivo se llame igual a la clase o sea a HolaJava asi tal cual.