2007년 11월 30일
11.30 ResourceBundle 에서 클래프 패스 설정하기
[Java] ResourceBundle (다국어 지원) - 클래스 패스 문제
한참 서블릿 과 jsp 연동을 위해 삽질하던중 ResourceBundle 관련 해서 예제를 실행시켜 보았다.....그러나........
안된다는 ㅠ.ㅠ
실행 시키면 아래와 같은 메시지가 나온다.......
Err: java.util.MissingResourceException: Can't find bundle for base name javan.Res_test, locale ko_KR
거짐 2일에 걸쳐 삽질결과 다른 이글루스님의 성공기를 올려 놓는다... 휴.............고맙습니다....
예제는.. ResourceBundle에서 사용할 properties 파일을 쉽게 만들 수 있는 이클립스 플러그인을 보여준 것인데.. 맨 아래쪽에 클래스 패스에 ResourceBundle이 있는 폴더를 추가하는 것이 보여서 답을 찾았다.
나의 코드는.. 그림처럼 src 폴더(소스 파일)와 bin 폴더(binary 파일), conf 폴더(잡다한 설정 파일)가 같은 레벨에 존재한다. 따라서, 실행 시에 ClassLoader가 bin 폴더 밖으로 접근할 수 없어서 conf 폴더 하위에 있는 설정 파일(network/locale/network.properties)을 읽지 못 하는 것이었다. TㅅT (사실 접근이 기능할지 모르겠으나 ClassLoader를 사용해 본 적이 없어서..=ㅅ=a) 상위 폴더로 갔다가 conf 폴더로 접근을 하고 싶었지만..

해결 방법은.. 위에서 말한 것처럼.. 클래스 패스에 저 conf 폴더의 설정 파일이 있는 폴더를 추가하는 것으로 간단히 해결!!

그러면 아래처럼 해당 폴더가 클래스 폴더로 잡히고, 저 폴더 안에 있는 설정 파일을 ResourceBundle로 읽어올 수 있게 된다.

+ 물론, 실행 시에는 클래스 패스로 추가해 주는 것을 잊지 말아야 겠다!!
이 글과 관련있는 글을 자동검색한 결과입니다 [?]
- linux에서 locale 설정 방법 by 아비숑
- Properties 파일 다루기 by killy
- FolderCompare : 진행상황 by 우하하
- Entity로직 실행방법 by whysee3
- 리눅스 한글 언어 설정 by changsu
# by | 2007/11/30 14:00 | 트랙백 | 덧글(2)





☞ 내 이글루에 이 글과 관련된 글 쓰기 (트랙백 보내기) [도움말]