메이븐 프로젝트에서 src/main/resource 에 xml파일을 넣고 서버를 띄울때 그 xml 파일을 읽어서
map으로 메모리에 올려놓고 쓰려고 했는데, src/main/resource의 파일의 경로가 무엇인지 몰라서 읽지 못하는 문제가 발생했다.
만약 파일이 아래와 같다면
src/main/resources/textfiles/myfile.txt |
아래의 경로로는 파일을 읽지 못한다.
"/main/resources/textfiles/myfile.txt" or "/resources/textfiles/myfile.txt" |
그런데 메이븐 클린 빌드를 하면 resources 아래의 파일과 폴더들이 myapp/target/classes 아래로 복사된다. 즉 아래의 경로에 파일이 복사된다.
myapp/target/classes/textfiles/myfile.txt |
그래서 이렇게 읽어서 쓰면 된다.
getClass().getResource("/textfiles/myfile.txt") |
내 경우는 xml파일을 그냥 src/main/resource 에 넣어놨기 때문에 그냥 이렇게 읽어서 썼다.
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); DocumentBuilder documentBuilder = factory.newDocumentBuilder();
InputStream is = this.getClass().getClassLoader().getResourceAsStream("myXml.xml");
Document document = documentBuilder.parse(is); // good! 이렇게 해서 document 를 얻는다. |
출처 - http://devx.tistory.com/entry/maven%ED%94%84%EB%A1%9C%EC%A0%9D%ED%8A%B8-srcmainresource%EA%B2%BD%EB%A1%9C%EC%9D%98-%ED%8C%8C%EC%9D%BC-%EC%9D%BD%EA%B8%B0
'IDE & Build > Maven' 카테고리의 다른 글
maven install such as to add Microsoft SQL JDBC driver to Maven (0) | 2012.12.07 |
---|---|
maven 기초 사용법 (0) | 2012.11.21 |
maven-compiler-plugin 설정하기 (0) | 2012.11.06 |
Maven - Dependency 검색이 안 될 때 (0) | 2012.06.08 |
maven - war 파일 배포 (0) | 2012.05.07 |