2010-11-19 7 views
7

j'ai un dossier sur mon bureau intitulé "Stuff" et dans ce dossier je les suivantes:Exécuter Java de la ligne de commande

  • Hello.java
  • mail.jar

Et Hello.java importe depuis mail.jar, je dois donc dire à Hello.java de chercher mail.jar. À partir d'une ligne de commande Windows et d'une ligne de commande Unix, comment compiler ceci et l'exécuter?

Répondre

14

Compile:

javac -cp .;mail.jar Hello.java 

; est pour Windows; utilisez : pour * nix.

et lancez:

java -cp .;mail.jar Hello 

où à nouveau, utilisez ; pour Windows et pour : * nix.

-cp dit à la fois javac et java ce que classpath à utiliser, et que vos fichiers sont dans le répertoire local où vous exécutez la commande, vous pouvez utiliser . pour la partie Bonjour et le nom du pot pour la chemins à l'intérieur du pot. Wikipedia a un decent article on classpaths.

Rappelez-vous, si vous allez le faire sur une base régulière, vous voudrez peut-être définir votre variable d'environnement CLASSPATH plutôt que d'utiliser constamment le drapeau -cp. Les deux java et javac utilisent la variable CLASSPATH.

Pour ma propre machine de développement, j'inclus réellement . dans ma variable CLASSPATH, pour plus de commodité. Ce n'est pas quelque chose que je ferais sur une boîte de production ou de construction/test, mais c'est très pratique pour le développement. Vous voudriez avoir vos bocaux habituels dedans aussi.

+0

Ceci ne fera pas que Java récupèrera le fichier JAR. – Jesper

+0

@Jesper: Merci, je pense que je corrigeais ce que vous avez commenté. :-) J'aurais oublié le pot. –

-1

Suivez ce tutoriel et vous devriez être en mesure de le faire en peu de temps:

Java Compilation

Vous ne devriez pas avoir aussi des problèmes avec le classpath parce que vos classes sont dans le même dossier

+0

-1 Pas une vraie réponse. –

2

supposant Hello.java ne contient pas de déclaration de package, sous Windows:

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

La seule différence sur les plates-formes Unix est tha t vous séparez les éléments du classpath avec un scolon au lieu d'un point-virgule:

java -cp mail.jar:. Hello 
Questions connexes