martes, septiembre 30, 2008

Error clasico de Java 2

Normalmente cuando se empieza a programar en Java, aparecen errores comunes debido a la sintaxis estricta del lenguaje. Pero, aun siguiendo los pasos correctos, pueden aparecer errores que son dificiles de detectar. Uno de ellos es el mostrado en la pantalla siguiente:



Este tipo de error, conduce a verificar que la clase que crea el compilador (archivo .class) este en el directorio debidamente creada. Al verificar vemos que la clase existe y no solo eso si la ejecutamos en otra maquina funciona correctamente. He notado en diversos foros que muy pocos saben como resolver este problema, o tratan de resolverlo apuntando a otros motivos. Bueno, la solucion es muy simple: al momento de compilar agregamos el parametro -cp (que significa classpath), este comando fuerza al compilador a que cree la clase y posteriormente la ejecute. Por mas que hayamos establecido la variable de ambiente correctamente el error va a continuar a menos que se agregue dicho modificador.
Aclarando todo deberiamos compilar nuestro .java de la siguiente forma:
javac -cp . hola.java
Noten que luego del modificador -cp hay un punto, que en el caso de compilar en Linux deberia ser ./ en vez del punto solo.
Por ultimo, al ejecutar el bytecode, se escribe de la misma forma:
java -cp . hola
De esta forma el error antes mencionado no deberia aparecer...