2010-11-19 29 views
7

tengo una carpeta en mi escritorio titulado "cosas" y en esa carpeta tengo el siguiente:Ejecutar Java desde la línea de comandos

  • Hello.java
  • mail.jar

Y Hello.java importa desde mail.jar, así que tengo que decirle a Hello.java que busque mail.jar.

Desde una línea de comandos de Windows y desde una línea de comandos de Unix, ¿cómo puedo compilar esto y ejecutar esto?

Respuesta

14

Compilar:

javac -cp .;mail.jar Hello.java 

donde ; es para Windows; use : para * nix.

y ejecute:

java -cp .;mail.jar Hello 

donde de nuevo, utilice ; para Windows y para : * nix.

-cp dice tanto javac y java lo ruta de clase de usar, y que los archivos están en el directorio local en el que está ejecutando el comando, se puede utilizar para la parte . Hola y el nombre de la jarra para la caminos dentro del tarro. Wikipedia tiene un decent article on classpaths.

Tenga en cuenta que, si va a hacer esto de forma regular, puede configurar su variable de entorno CLASSPATH en lugar de utilizar constantemente la bandera -cp. Tanto java como javac usan la variable CLASSPATH.

Para mi propia máquina de desarrollo, de hecho incluyo . en mi variable CLASSPATH, para mayor comodidad. No es algo que haría en una caja de producción o construcción/prueba, pero es muy útil para fines de desarrollo. También querrás tener tus jarras habituales.

+0

Esto no hará que Java recoja el archivo JAR. – Jesper

+0

@Jesper: Gracias, creo que estaba arreglando eso como usted comentó. :-) Me había olvidado del frasco. –

-1

seguir este tutorial y usted debería ser capaz de hacerlo en ningún momento:

Java Compilation

Además, no debería tener ningún problema con la ruta de clase porque sus clases son en la misma carpeta

+0

-1 No es una respuesta real. –

2
Suponiendo

Hello.java no contiene una declaración del paquete, en Windows:

javac -cp mail.jar Hello.java 
java -cp mail.jar;. Hello 

La única diferencia en plataformas Unix es tha t separe los elementos del classpath con un scolon en lugar de un punto y coma:

java -cp mail.jar:. Hello 
Cuestiones relacionadas