В моем Maven проекте, у меня есть следующий код в основном методе:Каков путь к файлам ресурсов в проекте Maven?
FileInputStream in = new FileInputStream("database.properties");
но всегда получить файл не найдена ошибки.
Я поместил файл в src/main/resources и правильно скопирован в каталог target/classes (я считаю, что это ожидаемое поведение для ресурсов Maven), но при запуске программы кажется, что он никогда не сможет найти файл. Я пробовал различные другие пути:
FileInputStream in = new FileInputStream("./database.properties");
FileInputStream in = new FileInputStream("resources/database.properties");
и т. Д., Но ничего не работает.
Итак, каков правильный путь к использованию?
на основе «открестился в» ответ ниже, здесь было то, что мне было нужно:
InputStream in = TestDB.class.getResourceAsStream("/database.properties")
где TestDB
это имя класса.
Спасибо за вашу помощь, отречься!
Если вы пытаетесь получить доступ к файлу из статического метода, GetClass() не работает. Есть ли альтернатива в этом случае? – acarlow
Используйте имя класса, например Main.class.getResourceAsStream(). Вы можете использовать любой класс или загрузчик классов, поэтому hread.getContextClassLoader() также работает. GetResourceAsStream(). –