J'ai une application Java Desktop et la question des fichiers de configuration me vexent moi. P>
Ce que je veux, c'est que mon dossier d'application distribuable ressemble à ceci: p>
mais pour le moment Je me fiche de la manière dont je configurais les différents fichiers de mon chemin de compilation, tant qu'ils se retrouvent comme ceux ci-dessus. P>
alors .. p>
merci p> myApp / application.jar code>
myApp / springconfig.xml code>
myApp / autreconfig.xml code>
myApp / lib code> p>
springconfig.xml code> est à l'intérieur
application.jar code> et je ne peux même pas trouver
autreconfig.xml code> programmatiquement. p>
3 Réponses :
En mode DEV, mettez-les dans la source de source et ils seront copiés dans votre dossier de classe, vous pouvez ensuite y accéder à l'aide de ClassLoader.
Exemple: p> en mode PROD, vous pouvez leur faire partie de votre pot. p> p>
Le fichier de configuration du ressort est lié au code et au câblage de votre application, il serait donc mieux à l'intérieur du pot et doit être soumis à modifier par les utilisateurs p> li>
si le Répondre à la question "Où puis-je mettre les fichiers dans ma configuration de développement" n'est pas possible car nous ne connaissons pas votre environnement. P>
En réalité, si vous souhaitez pouvoir modifier la configuration vous-même em> (et pas nécessairement des utilisateurs finaux), vous pouvez ouvrir le jar code> code> avec n'importe quel logiciel zip (WinRar Par exemple) et modifiez le fichier de configuration dans le pot. p>
Mise à jour: Comme il semble que vous ne puissiez pas rendre les fichiers de configuration à sortir du pot. Eh bien, pour un début, vous pouvez le faire manuellement - chaque fois que le (nouveau fichier ("."))) getabsolutepath (); code> renvoie le chemin absolu de votre pot - alors vous pouvez charger le
autreconfig.xml code> par un simple
fichierInputStream code> p> li>
springconfig.xml code> contient des données de configuration telles que les informations d'identification de la base de données, mettez-les dans une application externe
Application.Properties Utilisez-le et utilisez un
PropertyPlaceholderconfigurier code> pour charger le fichier externe. p> li>
ul>
.jar code> est terminé, supprimez simplement le fichier de configuration de l'intérieur et placez-le à l'extérieur. P>
OK, je suis à l'aide de Netbeans. Je n'ai toujours pas résolu ce problème. Si j'inclus des fichiers dans un package "config", lorsque je construis, ils sont déployés dans un fichier .jar qui défait le point d'avoir des fichiers de configuration! Acceptez ce que vous dites à propos de Spring Config - Wi ne vous dérange pas que d'être compilé, mais j'ai besoin d'un accès externe dans un fichier de configuration ordinaire. ça me conduit noix ...
Est-il nécessaire que les utilisateurs finaux puissent modifier votre configuration? Ou juste vous / vos coéquipiers. Vérifiez ma mise à jour pour cela.
Oui, il est nécessaire - je fournis certaines options de configuration pour les utilisateurs finaux, bien que je préfère qu'ils n'aient pas obligé de décompresser et de repousser le pot, c'est pourquoi je souhaite le fichier de configuration dans le répertoire racine. Je ne sais juste pas comment je peux le faire! Merci pour votre conseil en passant
Eh bien, vous pouvez simplement le retirer de l'emballage et le placer à l'extérieur, après l'emballage. Ensuite, lisez-le dans la façon dont j'ai décrit ci-dessus.
Ok, mais je ne peux pas trouver nulle part dans Netbeans de le placer afin que cela parie tous les deux copié sur le dossier DIST et est accessible dans le débogage - toute suggestion?
Je crée généralement une structure où j'ai un répertoire src / em> et que d'autres répertoires existent au même niveau. Certains de ces répertoires comprennent: p>
À ce même niveau, je crée ensuite un script ANT pour effectuer ma version de sorte que les fichiers de configuration appropriés, les ressources, lib, etc. sont copiés dans mon fichier JAR lors de la construction. Il a bien fonctionné pour moi jusqu'à ce point et est une structure organisationnelle assez facile à comprendre. P>
Pour lire les différents fichiers, je viens de les ouvrir comme je voudrais tout autre fichier et lisez-les et passez de là. Ce n'est rien de plus en plus fantasgorique, mais cela fonctionne bien et cela facilite la modification manuelle des configurations si je dois le faire. P>
@MALCOMTUCKER - Mise à jour My Post pour répondre à votre question.
Cheers, pouvez-vous fournir un extrait de code pour la façon dont vous lisez dans les fichiers de configuration sur les chemins relatifs app? Je présume que vous n'êtes pas du cap de ces emplacements dans votre projet .. Merci