, 나는 main 메소드에 다음 코드를 :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");
등 그러나 아무것도 작동하지 않는 것 같습니다.
그래서 적절한 경로는 무엇입니까? 을 바탕으로
"부인의"여기 아래에 대답하는 것은 내가 필요로 무엇을했다 :
TestDB
클래스의 이름입니다
InputStream in = TestDB.class.getResourceAsStream("/database.properties")
.
도움 주셔서 감사합니다.
정적 메서드에서 파일에 액세스하려는 경우 getClass 작동하지 않습니다. 이 경우 대안이 있습니까? – acarlow
클래스 이름을 사용하십시오 (예 : Main.class.getResourceAsStream()). 모든 클래스 또는 클래스 로더를 사용할 수 있으므로 hread.getContextClassLoader(). getResourceAsStream()도 작동합니다. –