Comment utiliser un .fichier de propriétés dans Eclipse Java de Projet Web Dynamique?
Je suis le développement d'un Projet Web Dynamique dans Eclipse. J'ai créé un .les propriétés de fichier pour stocker la base de données des détails (nom d'utilisateur, Mot de passe etc.). Je l'ai ajouté en cliquant droit sur le projet et le Nouveau -> Fichier . J'ai utilisé le Java util Propriétés du package de la classe. Mais il n'a pas de travail. Je ne peux pas récupérer une propriété du fichier. Voici le code que j'ai utilisé,
Properties prop = new Properties();
try {
prop.load(new FileInputStream("database.properties"));
String db = prop.getProperty("database");
String userName = prop.getProperty("dbuser");
String password = prop.getProperty("dbpassword");
} catch (IOException ex) {
ex.printStackTrace();
}
Est-il quelque chose de mal ou Est-il un endroit où je devrais mettre un fichier de propriétés.
- Semble qu'il y a un problème en essayant de trouver la base de données.les propriétés. Où est-il situé? est-il dans le même package que la classe?
Vous devez vous connecter pour publier un commentaire.
Ce que tu as fait est correct, c'est à dire clic droit sur le projet et de nouveau-fichier.Vous devez Mettre vos propriétés où vous commencez votre jvm de. S'il vous plaît regardez dans l'image jointe. Le fichier de propriétés est marqué en rouge. Regardez si votre fichier de propriétés est également situé à quelque chose comme ça.
Également l'ajouter dans votre code pour trouver l'emplacement de votre fichier:
Pour plus de détails, suivez ce lien FileNotFoundException lors de l'utilisation de fichier de propriétés java
Normalement, vous assurez-vous que le fichier de propriétés est dans le projet d'exécution de chemin de classe (par exemple, WEB-INF/classes) et la charger à l'aide du Système de chargeur de classe ou la propriété de gestionnaire de fichiers du chargeur de classe, c'est à dire (à main levée de frappe à partir de la mémoire -- PAS COMPILÉ)
Je parie que vous ne sont pas pointant vers l'emplacement correct. Assurez-vous que vous êtes fichier de propriétés est à la bonne place. En utilisant ce code, je crois qu'il est à la recherche d'
${CURRENT_WORKING_DIR}/database.properties
, ce qui est le cas d'une application web dans eclipse estWEB-INF/classes
(je pense).Vous devriez plutôt utiliser le plus portable
java.util.Properties#load(InputStream)
avec le résultat dejavax.servlet.ServletContext#getResourceAsStream(String)
.Essayer de donner un chemin absolu ou relatif chemin d'accès à la proprty fichier, vérifiez également ce propery chemin d'accès au fichier a été ajouter pour les dossiers de la source ou pas, si non il ne sera pas copié dans le dossier classes. (Droit cclick sur le projet , consultez java build path en vertu de l'onglet source.
Vous devriez avoir .propriétés fichier dans le même package que la classe qui l'utilise.
Ou mieux, de lire un fichier de propriétés avec
getResourceAsStream
méthode (sinon vous pouvez avoir des problèmes plus tard, quand tu auras le fichier .la guerre de l'archive).