Commandes Java et Javac
-POTION CLASSPATH dans les lignes de commande Javac et Java
Il s'agit d'une question très fondamentale, mais comme ils utilisent essentiellement des outils IDE existants pour développer des programmes Java, peu de gens s'en rendent compte.
javac
-classpath, définissez le chemin d'accès à la recherche de la classe, qui peut être un répertoire, un fichier JAR ou un fichier zip (tous les fichiers de classe sont inclus), qui écraseront tous les paramètres de ClassPath.
-SourcePath, définit le chemin d'accès à la recherche du fichier Java requis pour compiler, qui peut être un répertoire, un fichier JAR ou un fichier zip (tous les fichiers Java sont inclus).
Donc, une ligne de commande Javac complète devrait ressembler à ceci,
Supposons qu'Abc.java se trouve dans le chemin c: / src, et dans n'importe quel répertoire, la commande suivante peut être exécutée pour compiler.
javac -classpath c: / classes; c: /jar/abc.jar; c: /zip/abc.zip -sourcepath c: / source / project1 / src; c: / source / project2 /lib/src.
Cela signifie que le fichier de classe ci-dessous c: / classé est requis, le fichier de classe à l'intérieur c: /jar/abc.jar, le fichier de classe à l'intérieur c: /zip/abc.zip a également besoin du fichier source ci-dessous c: / source / project1 / src, le fichier source à l'intérieur c: / source / project2 /lib/src.
Remarque: JAR, il n'y aura pas de modifications dans les fichiers source dans ZIP, et les fichiers source dans le répertoire peuvent être recompilés.
Java
-classpath, définit le chemin de la classe à rechercher, qui peut être un répertoire, un fichier JAR ou un fichier zip (tous les fichiers de classe sont inclus), qui écraseront tous les paramètres de chemin de classe.
Étant donné que la classe à exécuter fait également partie de la classe à rechercher, le chemin de cette classe doit également être placé dans le paramètre -classpath.
Il se manifeste en ce que lors de l'exécution de Java dans le chemin de la classe à exécuter, vous devez ajouter un point (.) Pour indiquer que ce répertoire doit également être recherché.
Supposons que ABC.Class est dans le chemin C: / SRC
La commande suivante peut être exécutée dans n'importe quel chemin
java -classpath c: / classes; c: /jar/abc.jar; c: /zip/abc.zip; c: / src abc
Question: Si main.class appartient à c: /jar/abc.jar et est dans le package com.cnblogs.jeffchen, puis exécutez java -classpath c: / classes; c: /jar/abc.jar; c: /zip/abc.zip; com.cnblogs.jeffchen.Main, mais que si le classe Classpath conteste plusieurs jars? Et d'autres packages JAR ont également com.cnblogs.jeffchen? erreur?
Sous Windows,
Le séparateur du chemin du fichier est en barbe à barres /
Le séparateur de la classe ou de la liste des fichiers Java est un point-virgule;
Filiter Bit Slash of Fichier Chemin dans Linux /
Le séparateur de la classe ou de la liste des fichiers Java est un côlon:
Un exemple de compilation et de course sous Linux
/ usr / local / java / bin / javac -classpath /tmp/javatest/lib/mail-1.3.3.jar -d / tmp / javatest / bin / /tmp/javatest/src/jp/co/realseed/capability.java/usr/local/java/bin/javac -classpath/Local/java/bin/javac -classpath/Local/java/bin/javac -classpath/local/java/bin/javac -classpath/java /tmp/javatest/lib/mail-1.3.3.jar:/tmp/javatest/bin/ jp.co.realseed.capabilité
Merci d'avoir lu, j'espère que cela peut vous aider. Merci pour votre soutien à ce site!