J'ai un fichier de propriétés que j'ai inclus dans un fichier jar que je vais distribuer. Avant que j'ai décidé d'inclure le fichier dans le pot, je chargeais commeCharger le fichier groupé dans le fichier jar uniquement s'il est exécuté en tant que fichier jar
properties.load(new FileInputStream(configFileName));
Mais cela ne fonctionne plus une fois que le fichier a été placé à l'intérieur du pot alors j'ai changé le code pour
properties.load(MyClass.class.getResourceAsStream(configFileName));
Le seul problème est J'ai des tests unitaires qui utilisent mes propriétés (qui sont chargées statiquement donc je ne peux pas me moquer). Les tests unitaires sont exécutés avant que le pot ne soit créé, ils échouent tous maintenant. Existe-t-il un moyen élégant de gérer un fichier qui sera dans un pot uniquement si le programme est exécuté en tant que pot?
Merci pour la réponse. Pourriez-vous expliquer ce que vous voulez dire en plaçant les propriétés dans classpath? Je suis nouveau dans le développement java. J'utilise un outil de construction, mais il est propriétaire et non Maven. – Manny
Si vous utilisez un outil de construction propriétaire, alors je ne sais pas comment vous le feriez, sinon mettre votre fichier de propriétés dans le même répertoire que votre code. Et même cela peut ne pas fonctionner. – parsifal