In meinem Maven-Projekt, ich habe den folgenden Code in der Hauptmethode:Wie lautet der Pfad zu Ressourcendateien in einem Maven-Projekt?
FileInputStream in = new FileInputStream("database.properties");
aber immer eine Datei erhalten Fehler nicht gefunden.
Ich habe die Datei in src/main/resources und es ist ordnungsgemäß in das Ziel/Klassen-Verzeichnis kopiert (ich glaube, das ist das erwartete Verhalten für Maven-Ressourcen), aber wenn das Programm tatsächlich ausgeführt wird scheint es nie finden die Datei. Ich habe verschiedene andere Wege ausprobiert:
FileInputStream in = new FileInputStream("./database.properties");
FileInputStream in = new FileInputStream("resources/database.properties");
usw. aber nichts scheint zu funktionieren.
Also, was ist der richtige Pfad zu verwenden?
Basierend auf "Ablehnungs des" weiter unten beantworten, hier war, was ich brauchte:
InputStream in = TestDB.class.getResourceAsStream("/database.properties")
wo TestDB
der Name der Klasse ist.
Danke für Ihre Hilfe, verleugnen!
Wenn Sie versuchen, die Datei aus einer statischen Methode zuzugreifen, getClass() funktioniert nicht. Gibt es in diesem Fall eine Alternative? – acarlow
Verwenden Sie den Klassennamen, z. B. Main.class.getResourceAsStream(). Sie können jede Klasse oder Klassenladeprogramm verwenden, also funktioniert auch die Funktion "read.getContextClassLoader(). GetResourceAsStream()". –