2016-07-18 32 views
1

Ich versuche, die Datei config.properties zu lesen (in meinem Projektstammverzeichnis mit meiner pom.xml, README.md, ...). Ich habe jedoch immer "FileNotFound" Ausnahmen. Wo sollte ich diese Datei finden, um mit diesem Code zu arbeiten?Speicherort der Datei config.properties in Java-Projekt

/src/main/java/com.example.proj.db/DatabaseManager.java

public DatabaseManager() throws IOException { 
    Properties prop = new Properties(); 
    InputStream input = null; 

    input = new FileInputStream("config.properties"); 
    prop.load(input); 
    dbUser = prop.getProperty("dbUser"); 
} 

config.properties

# Database Configuration 
dbuser=wooz 
+1

Normalerweise würde ich sagen/src/main/resources/als Startposition <_ < – Compass

+0

Leider ist es nicht von dieser Position entweder nicht funktioniert, @Kompass. Derselbe Fehler. – Arturo

+1

Probieren Sie 'getClass(). GetResourceAsStream (" config.properties ")' (in Kombination mit dem Vorschlag @ Compass gab) – Sam

Antwort

2

Hier ist, was ich in der Regel tun:

  1. Setzen Sie die Stütze Datei in/src/main/resources, wie von @Compass erwähnt

  2. Machen Sie eine Ressourcenfilterung im Build-Abschnitt von pom.xml, um sicherzustellen, dass die Eigenschaftendatei in das Paket kopiert wird.

    <build> 
        ... 
        <resources> 
         <resource> 
          <directory>src/main/resources</directory> 
          <filtering>true</filtering> 
         </resource> 
        </resources> 
        ... 
    </build> 
    
  3. Da ich Frühling bin mit einer Property-Datei zu laden, ich schreibe einfach den Dateipfad als „Classpath: config.properties“. Sie können jedoch eine andere Technik zurückgreifen müssen, wie locating file in a classpath