Ok, sé que esta pregunta se ha hecho muchas veces muchas veces, pero la he buscado en Google y he visto ejemplos y he consultado SO durante el último mes, y me tomo en serio no puedo hacer que esto funcione Creo que el problema es que quiero poder ejecutar el programa desde Eclipse y la línea de comandos. También estoy usando OSX y creo que muchos de los ejemplos que estoy leyendo son para Windows/Linux.Añadiendo jar a classpath al ejecutar desde la línea de comando
Si tengo un sencillo programa compilado en Eclipse que quiero ejecutar desde la línea de comandos que hacer esto:
java -cp bin MyProgram
tengo otro programa que compilar y ejecutar en Eclipse, y esto hace referencia al JDBC de MySQL conector (mysql-connector-java-5.1.19-bin.jar) que se almacena en el mismo directorio. Esto funciona bien desde Eclipse, pero no puedo ejecutarlo desde la línea de comandos.
He intentado todas las combinaciones de cosas ...
java -classpath "bin;mysql-connector-java-5.1.19-bin.jar" MyProgram
java -cp bin\;mysql-connector-java-5.1.19-bin.jar MyProgram
y obtener todo tipo de errores de clase no encontrado ...
Exception in thread "main" java.lang.NoClassDefFoundError: MyProgram
Caused by: java.lang.ClassNotFoundException: MyProgram
at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
Hola Matt, si no me equivoco creo que la ruta de clases es declarar la ruta de la clase principal que desea ejecutar. Entonces, en este caso, si su clase está en la carpeta bin, simplemente probaría: java MyProgram o java -cp myprogrampath MyProgram –
@FedericoGiust No específicamente; classpath solo define un archivo o una ruta a un conjunto de clases. El classpath puede o no incluir la clase ejecutable (que generalmente da como resultado una excepción o un error directo de java.exe). Classpath puede incluir directorios y archivos que no tienen clases ejecutables. – Qix
posible duplicado de [línea de comandos de Java con .jar externo] (http://stackoverflow.com/questions/6069702/java-command-line-with-external-jar) –