À 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 et sous-répertoires récursifs?
(Mes fichiers JAR sont triés dans plusieurs sous-répertoires.)
Si vous utilisez Java 6 ou supérieur, vous pouvez utiliser des caractères génériques de cette forme:
Java -classpath ".;c:\mylibs\*;c:\extlibs\*" MyApp
Si vous souhaitez ajouter tous les sous-répertoires: lib\a \, lib\b \, lib\c \, il n’existe aucun 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 voulez faire.
Utilisez la commande comme
Java -classpath ".;C:\MyLibs\a\*;D:\MyLibs\b\*" <your-class-name>
La commande ci-dessus définira les chemins mentionnés sur classpath une seule fois pour exécuter la classe nommée TestClass.
Si vous voulez exécuter plus d'une classe, alors vous pouvez suivre ceci
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 <your-class-name>
La commande ci-dessus fonctionnera jusqu'à ce que vous fermiez l'invite de commande. Mais après avoir fermé l'invite de commande, si vous rouvrez l'invite de commande et 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. (Première méthode pour exécuter une classe et deuxième un pour exécuter plus de classes)
Si vous voulez définir la classe une seule fois pour qu'elle puisse fonctionner à tout moment, 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 chemin d'accès aux classes encore et encore.
REMARQUE: Si vous souhaitez ajouter d'autres bibliothèques après un jour, n'oubliez pas d'ajouter un point-virgule à la fin de la "valeur de variable" de la "variable d'environnement", puis de taper le chemin d'accès à vos nouvelles bibliothèques. après le point-virgule. Parce que le point-virgule sépare les chemins de différents répertoires.
J'espère que ceci vous aidera.