problemas al ejecutar programas java
Hola,
he instalado java en debian sarge con aptitude, y a la hora de ejecutar un programa previamente compilado en el mismo directorio de trabajo me muestra el siguiente mensaje:
pc1:~/Documentos/programación/Java>$java MesaMain
Internal error: caught an unexpected exception.
Please check your CLASSPATH and your installation.
java/lang/ExceptionInInitializerError
at java.lang.ClassLoader.getSystemClassLoader(ClassLoader.java:772)
Abortado
datos curiosos:
cuando ejecuto a secas java funciona por lo que he descartado que se trate del path ya que en el tengo /usr/bin (que es el directorio donde se encuentra java).
Alquien sabe lo que quiere decir el mensaje y como solucionarlo???
muchas gracias
he instalado java en debian sarge con aptitude, y a la hora de ejecutar un programa previamente compilado en el mismo directorio de trabajo me muestra el siguiente mensaje:
pc1:~/Documentos/programación/Java>$java MesaMain
Internal error: caught an unexpected exception.
Please check your CLASSPATH and your installation.
java/lang/ExceptionInInitializerError
at java.lang.ClassLoader.getSystemClassLoader(ClassLoader.java:772)
Abortado
datos curiosos:
cuando ejecuto a secas java funciona por lo que he descartado que se trate del path ya que en el tengo /usr/bin (que es el directorio donde se encuentra java).
Alquien sabe lo que quiere decir el mensaje y como solucionarlo???
muchas gracias
No estoy del todo seguro, pero prueba esto y me dices si funciona o no.
java ./MesaMain
o
./java MesaMain
puede que el problema no sea encontrar la ruta java sino la ruta del fichero a ejecutar, mira si en el path tienes incluido el directorio ".", es decir tienes en la path el directorio donde te encuentres sea cual sea.
Esto puedes averiguarlo con la instruccion set
Saludos.
java ./MesaMain
o
./java MesaMain
puede que el problema no sea encontrar la ruta java sino la ruta del fichero a ejecutar, mira si en el path tienes incluido el directorio ".", es decir tienes en la path el directorio donde te encuentres sea cual sea.
Esto puedes averiguarlo con la instruccion set
Saludos.
te voy a decir por encima lo que tengo en el path definido en el archivo .bashrc
PATH=.:/usr/bin/:usr/lib: .....
tengo que incluir export path??
como puedes ver ya esta incluido el \".\"
y una pregunta para que es la instrucción set?
gracias
PATH=.:/usr/bin/:usr/lib: .....
tengo que incluir export path??
como puedes ver ya esta incluido el \".\"
y una pregunta para que es la instrucción set?
gracias
Hola,
la instruccion set es de consola o terminal como prefieras llamarlo, tanto para win como para linux sirver para ver multiples varias del sistema, como path, etc
la instruccion set es de consola o terminal como prefieras llamarlo, tanto para win como para linux sirver para ver multiples varias del sistema, como path, etc
Eric Mignot crees que es necesario el código, lo digo xq si copio el .class a el direcctorio /usr/bin y lo compilo desde /usr/bin funciona perfectamente
de todas formas lo intentaré poner hoy y ya te cuento mañana.
Gracias a toodos
de todas formas lo intentaré poner hoy y ya te cuento mañana.
Gracias a toodos
Hola,
Puedes intentar rodear tu codigo en otra classe con un catch Trowable para luego preguntar por la razon de la excepcion por una llama a getCause(). Algo como lo siguite :
public class Test
{
public Test()
{
try
{
MesaMain m = new MesaMain();
// cualquier codigo
}
catch (Throwable t)
{
System.out.println(t.getCause());
}
}
}
Puedes intentar rodear tu codigo en otra classe con un catch Trowable para luego preguntar por la razon de la excepcion por una llama a getCause(). Algo como lo siguite :
public class Test
{
public Test()
{
try
{
MesaMain m = new MesaMain();
// cualquier codigo
}
catch (Throwable t)
{
System.out.println(t.getCause());
}
}
}
