Comment un fichier JAR peut lire un externe fichier de propriétés
Nous avons un pool de connexion de composant (fichier JAR) pour l'un de notre application. À compter de maintenant, la connexion de l'application des détails sont fournis dans le fichier JAR (en .properties
fichier).
Peut nous rendre plus générique? Pouvons-nous avoir le client dire le fichier de propriétés de détails (à la fois le chemin et le nom de fichier) et utiliser le POT pour obtenir la connexion?
Est-il judicieux d'avoir quelque chose comme ceci dans le code de client:
XyzConnection con = connectionIF.getConnection(uname, pwd);
Parallèlement à cela, le client devra indiquer (en quelque sorte???) le fichier de propriétés, détails qui ont la Url pour se connecter, le délai d'attente etc.
Vous devez vous connecter pour publier un commentaire.
http://www.javaworld.com/javaworld/javaqa/2003-08/01-qa-0808-property.html
plusieurs approches sont possibles, l'article ci-dessus fournit plus de détails
Façon la plus simple, utilisez le commutateur-D à définir un système de propriété sur une ligne de commande java.
Que le système de la propriété peut contenir un chemin d'accès à votre fichier de propriétés.
E. g
Ensuite, dans votre code, vous pouvez le faire ( à l'exception de traitement n'est pas indiqué pour des raisons de concision ):
Il suffit de charger les propriétés de fichier, quelque chose comme
Notez la façon dont le codage est explicitement spécifié en tant que UTF-8 ci-dessus. Il pourrait aussi être laissé de côté si vous acceptez la valeur par défaut de l'ISO8859-1 codage, mais méfiez-vous, avec tous les caractères spéciaux, puis.
C'est ma solution. D'abord la recherche de
app.properties
dans le dossier de démarrage, s'il n'existe pas essayer de le charger à partir de votre POT package:Façon la plus simple est ci-dessous. Il se charge de l'application.propriétés de cfg dossier en dehors du fichier jar.
Structure De Répertoire
Code:
Dans netbeans j'ai besoin de chargement de l'application.propriétés de
conf/
dossier en dehors du fichier jar.Donc j'ai écrit :
Pour Eclipse appliquer la suivante:
méthodes ci-dessus fonctionne pour moi, il suffit de stocker vos biens fichier dans le répertoire à partir pour l'exécution de votre pot et de fournir ce nom à la place de propFileName, quand vous voulez, n'importe quelle valeur de la propriété appelez simplement
getPropertyValue("name")
.