Définir le dossier pour classpath

À partir de la ligne de commande, comment définir l’option Java CLASSPATH pour qu’elle pointe vers un ou plusieurs répertoires contenant plusieurs fichiers jar? Existe-t-il des caractères génériques pour la prise en charge des répertoires récursifs et des sous-répertoires?

(Mes fichiers JAR sont sortingés dans plusieurs sous-répertoires.)

Si vous utilisez Java 6 ou supérieur, vous pouvez utiliser des caractères génériques de ce formulaire:

java -classpath ".;c:\mylibs\*;c:\extlibs\*" MyApp 

Si vous souhaitez append tous les sous-répertoires: lib \ a \, lib \ b \, lib \ c \, il n’y a pas de mécanisme pour cela, sauf:

 java -classpath ".;c:\lib\a\*;c:\lib\b\*;c:\lib\c\*" MyApp 

Il n’y a rien comme lib\*\* ou lib\** joker pour le type de travail que vous souhaitez effectuer.

Utilisez la commande comme

 java -classpath ".;C:\MyLibs\a\*;D:\MyLibs\b\*"  

La commande ci-dessus définira les chemins d’access mentionnés dans classpath une seule fois pour exécuter la classe nommée TestClass.

Si vous voulez exécuter plus d’une classe, vous pouvez suivre cela

 set classpath=".;C:\MyLibs\a\*;D:\MyLibs\b\*" 

Après cela, vous pouvez exécuter autant de classes que vous le souhaitez en tapant simplement

 java  

La commande ci-dessus fonctionnera jusqu’à ce que vous fermiez l’invite de commande. Mais après la fermeture de l’invite de commande, si vous rouvrez l’invite de commande et que vous essayez d’exécuter certaines classes, vous devez définir à nouveau le chemin de classe à l’aide de l’une des deux méthodes mentionnées ci-dessus. un pour exécuter plus de classes)

Si vous souhaitez définir le classpth une seule fois pour qu’il puisse fonctionner à chaque fois, procédez comme suit

 1. Right click on "My Computer" icon 2. Go to the "properties" 3. Go to the "Advanced System Settings" or "Advance Settings" 4. Go to the "Environment Variable" 5. Create a new variable at the user variable by giving the information as below a. Variable Name- classpath b. Variable Value- .;C:\program files\jdk 1.6.0\bin;C:\MyLibs\a\';C:\MyLibs\b\* 6.Apply this and you are done. 

Rappelez-vous que cela fonctionnera à chaque fois. Vous n’avez pas besoin de définir explicitement le classpath encore et encore.

NOTE: Si vous souhaitez append d’autres librairies après un jour, n’oubliez pas d’append un point-virgule à la fin de la «variable-value» de la «Variable d’environnement», puis tapez le chemin de vos nouvelles libs après le point-virgule. Parce que les points-virgules séparent les chemins des différents répertoires.

J’espère que ceci vous aidera.