web-dev-qa-db-fra.com

Où devrais-je stocker les fichiers jar tiers (archive Java)?

Quel serait le meilleur endroit pour enregistrer les fichiers jar des bibliothèques que je veux utiliser dans un projet, qui ne se trouvent dans aucun référentiel, et comment dois-je définir des autorisations?

Devrais-je les mettre dans/usr/share/Java, ou est-il préférable de les stocker quelque part dans mon dossier personnel?

Quels seraient les droits d'accès les plus utiles? Est-il judicieux de suivre la convention dans/usr/share/Java consistant à créer un lien symbolique avec le nom du package vers la version spécifique du fichier jar, et de suivre les autorisations utilisées ici?

5
Martijn

Si tous les utilisateurs de votre système n'ont pas besoin d'accéder aux fichiers, vous pouvez les placer dans votre dossier de départ ou même mieux dans un dossier bin (en créer un si ce n'est déjà fait) sous votre dossier de départ. De cette façon, vous avez un répertoire bin personnel auquel vous pouvez accéder depuis le terminal sans spécifier l'extension du fichier ni le programme permettant d'ouvrir le fichier.

Par exemple,

my-app

obligerait le terminal à exécuter my-app.any_possible_extension avec le programme approprié (Sun Java ou Openjdk dans ce cas). Si vous créez le dossier bin, vous devez vous déconnecter et vous reconnecter pour que le système reconnaisse le nouveau dossier bin. De plus, les fichiers du dossier bin personnel doivent avoir été définis comme exécutables, sinon le terminal les ignorera.

3
papukaija

il est certainement préférable de garder les modifications "locales" en dehors d'une zone de distribution. Lorsque vous devez effectuer une mise à niveau ultérieure, vos modifications ne sont pas supprimées ou la mise à niveau ne peut échouer à cause d'un fichier erroné. Il vous suffit de modifier la variable d'environnement CLASSPATH pour inclure les fichiers jar dans votre répertoire personnel.

Puisque vous spécifiez votre répertoire personnel, je suppose que c'est un projet personnel, pas un projet à publier quelque part. S'il s'agit d'un projet à publier, alors il devrait y avoir un répertoire, probablement nommé 'lib', sous la distribution du projet; par exemple, /usr/local/xyzzy/lib/*.jar (pour le projet 'xyzzy').

2
Arcege