Le fichier BAT pour créer CLASSPATH Java
Je veux distribuer une application de ligne de commande écrit en Java sur Windows.
Mon application est distribuée dans un fichier zip, qui dispose d'un répertoire lib de l'entrée, qui a le .les fichiers jar requis pour l'invocation de ma classe principale. Actuellement, pour les environnements Unix, j'ai un script shell qui appelle la commande java avec un CLASSPATH créé en ajoutant tous les fichiers dans le répertoire lib.
Comment puis-je écrire un .Fichier BAT avec les mêmes fonctionnalités? Quel est l'équivalent de trouver la commande Unix dans le monde de Windows?
Vous devez vous connecter pour publier un commentaire.
Vous souhaitez utiliser la boucle for dans le script de commandes
Cela m'a vraiment aidé quand j'étais à la recherche d'un script batch pour itérer sur tous les fichiers dans un répertoire, c'est à propos de la suppression de fichiers, mais il est très utile.
Une ligne de script batch pour supprimer les répertoires vides
Pour être honnête, l'utilisation de Jon réponse même si, bien mieux si tous les fichiers sont dans un répertoire, ce qui pourrait vous aider à tout autre moment si.
Pourquoi utiliseriez-vous le trouver? Je suppose que vous connaissez toutes les bibliothèques de votre fichier jar besoins d'avance, alors pourquoi ne pas en faire la liste?
Sinon, vous pouvez toujours utiliser
-Djava.ext.dirs=lib
et le laisser ramasser tout de cette façon.Depuis 6.0, Java prend en charge les chemins de classe générique.
Ligne de commande Java syntaxe classpath
Une variation si vous souhaitez que le paramètre de chemin de classe à tenir à l'extérieur du script et que vous n'avez pas à démarrer le shell avec /V, vous pouvez faire quelque chose comme ceci:
Utile pour la configuration de votre environnement lorsque vous êtes en train de jouer sur la ligne de commande.
Sonne comme une exécutable JAR pourrait travailler pour vous. Si vous êtes à la distribution d'un ZIP avec tous les Pots de votre routine principale besoins, et vous vraiment exécuter une commande shell, vous pourriez peut-être créer un exécutable JAR avec le Principal de la Classe et du chemin de classe défini dans le manifeste. Tous vos utilisateurs ont à faire est de double-cliquer sur le POT et Bob's your uncle.
Ce que je fais quand j'ai la libération de la ligne de commande de Pots pour Windows/Linux est d'intégrer tous les JAR bibliothèques à l'intérieur de mon POT à l'aide de la commande ANT:
De cette façon, les bibliothèques sont les fondre ensemble avec vos fichiers de classe.
Ce n'est pas la meilleure façon de binaire réutilisabilité, mais si les bibliothèques ne sont pas si lourds, vous avez votre application exécutée en appelant simplement java-jar myApp.jar dans tous les OS.
Vous pouvez utiliser un peu de manière différente si vous utilisez Maven pour construire votre projet.
Assembleur d'Application Plugin Maven est prévu pour la création d'applications Java lanceurs. Ce plug-in générer le fichier bat lanceur pour vous et mettre les dépendances dans le dossier spécifié. Optionnellement, vous launcher est en mesure de vous inscrire en application en tant que service\démon.
C'est un sujet à propos de l'utiliser
Ce plug-in permet de vous garder CM pièces de votre projet SÈCHE.
Oui;
Depuis la version 6, vous pouvez utiliser le chemin de classe de caractères génériques.
Voir aussi cette Q&A.
Une option pour rendre les choses portable est de définir le classpath par rapport à l'emplacement du fichier de commandes lui-même.
Dans Windows (en supposant que Java 6+, classes ./bin, pots de ./lib):