Comment dois-je configurer le CLASSPATH?
Je l'ai fait avant:
CLASSPATH=".:/home/phoenies/jdk1.6.0_17/lib/tools.jar:/home/phoenies/jdk1.6.0_17/lib/dt.jar"
Mais aujourd'hui, un article dit que je devrais le faire:
CLASSPATH=".:/maison/phoenies/jdk1.6.0_17/lib"
Si je le fais, il recherche tous les fichiers jar dans le répertoire lib? Donc c'est probablement un moyen plus court?
OriginalL'auteur phoenies | 2010-01-07
Vous devez vous connecter pour publier un commentaire.
Puisque vous utilisez JDK6, vous pouvez utiliser le classpath de caractères génériques: CLASSPATH=".:/maison/phoenies/jdk1.6.0_17/lib/*" correspond à tous les POTS à l'intérieur lib/
Découvrez http://java.sun.com/javase/6/docs/technotes/tools/windows/classpath.html il y a une section intitulée "Comprendre le chemin de classe de caractères génériques"
Je vous remercie pour votre réponse opportune 🙂
très intéressante. +1. Cependant, je dirais contre l'utilisation de "devrait", car il n'est pas explicite de la commande du chargement de fichiers, alors il pourrait être un comportement inattendu si vous avez plusieurs bocaux contenant les différentes versions de la même classe dans votre répertoire.
Vous avez raison, dans ce cas explicite pot de chargement, c'est mieux. Quand vous avez un groupe indépendant de pots de charge à l'aide de caractères génériques est une bonne solution. Même mieux d'avoir un script ant comme duffymo suggéré.
OriginalL'auteur Cesar
Je pense que la présence d'une variable d'environnement CLASSPATH est pas le cas pour tous, mais le plus simple de "Hello, World" tutoriels.
La bonne façon est de définir le CLASSPATH pour chaque projet, lorsque vous compilez et exécutez. Chaque projet est susceptible d'être différent, si cela a du sens.
IDEs ignorer les paramètres d'environnement CLASSPATH; faites donc tout Java EE application des serveurs. C'est une relique de Java 1.0. Je n'ai pas CLASSPATH fixé sur n'importe quelle machine que je travaille sur.
Apprendre à écrire le script pour la ligne de commande. Ou utiliser Ant. Vous serez heureux vous avez fait.
OriginalL'auteur duffymo
Oui, il recherche tous les fichiers jar dans le répertoire lib si vous le faites la seconde. C'est assez bizarre de voir de la classe de chemin de définir aussi précisément que dans le premier. Je suppose que sur un serveur où tu voulais être sûr de ce que les pots ont été en cours de chargement, qui peut être un moyen de les limiter, mais vous risquez de rencontrer des problèmes avec combien de temps il peut être si vous aviez plusieurs bocaux.
Mal. Vous avez la liste des Pots individuellement.
OriginalL'auteur Jim L
Fichiers Jar besoin d'être spécifié par son nom dans la variable Classpath. Une chose à noter est que la ligne de commande
-classpath
param est plus polyvalente que la variable d'environnement, car il permet de définir un chemin de classe par l'application.OriginalL'auteur akf
Dans la version 1.6 de Java+ vous pouvez définir le classpath pour un répertoire de suivi /* pour charger tous les fichiers JAR dans le répertoire. Pas seulement le nom du répertoire, c'est pour le chargement des fichiers de classe dans ce répertoire et sous-répertoires.
OriginalL'auteur Nate