Est-ce que "java-cp" est simplement une abréviation de "java-classpath"?


Sur la ligne de commande est-ce que java -cp est simplement une abréviation de java -classpath?

(il semble que je me souvienne qu'ils peuvent avoir un comportement différent mais je ne trouve pas de documentation explicite).

UPDATE Merci (@AlBlue) d'avoir confirmé que ma mémoire était en fait correcte et qu'ilsétaient différents .

Author: peter.murray.rust, 2009-12-28

3 answers

Ils étaient différents, mais maintenant ils sont les mêmes (acceptant donc les deux pour la compatibilité). À l'origine, -classpath devait avoir les classes.zip (Java 1.0/1.1) ou rt.jar (Java 1.2+) afin de pouvoir fonctionner. Par conséquent, si vous avez couru-classpath my.jar, cela ne fonctionnerait pas (car il ne trouverait pas java.lang.Objet et amis). En conséquence, - cp a été ajouté qui ajouterait les chemins de classe / jars à la liste, mais n'écraserait pas les classes.zip/rt.jar entrée.

Cependant, cette le comportement a parfois changé (1.4? 1.5?) afin que vous n'ayez plus besoin de mettre des entrées sur le chemin de classe 'system' via-classpath, après quoi elles étaient identiques.

Vous pouvez probablement exécuter des commandes de l'ère 1.3 ou 1.4 (si vous les avez toujours) pour vérifier quand le changement s'est produit.

 8
Author: AlBlue, 2009-12-28 14:00:27

Dans Windows,

java -help

Dit sous chaque

-cp <class search path of directories and zip/jar files>
-classpath <class search path of directories and zip/jar files>
              A ; separated list of directories, JAR archives,
              and ZIP archives to search for class files.

Semble assez clair. Ils ont tous les deux fait la même chose. Donc, oui, c'est un alias.

 6
Author: BalusC, 2009-12-27 23:59:11

Voir JDK Outils et Utilitaires la documentation pour plus d'informations sur les paramètres de ligne de commande.

 0
Author: McDowell, 2009-12-28 13:53:21