안그래보이지만 개발자/환경

[Eclipse RCP] 플러그인 ID로 리소스 접근하기

자네트 2020. 5. 11. 15:00
반응형

프로그램의 현재 경로를 읽어와, 상대경로로 properties 디렉토리 안의

.properties 파일을 읽은 다음에

getProperty를 너무 쓰고 싶은데

일반 자바에서 하는 방법으로는 안나와서 삽질하다가

RCP에서는 방법이 다른 걸 찾아내고 포스팅

 

String bundleLocation = Activator.getDefault().getBundle().getLocation();

프로그램이 실행될 때 각 플러그인의 Object start() 안에서는 위처럼 코드를 작성해도 내가 의도한 경로가 잘 나와서

바로 FileReader로 파일 가져오면 되는데,

나는 다른 화면에서 getBundle()을 호출하니 자꾸 ㅠㅠ 공용 플러그인이 호출되는 것이었다

 

그래서 찾아보니 플러그인 이름으로 아예 설정할 수 있음

Bundle bundle = Platform.getBundle("플러그인이름");
String bundleLocation = bundle.getLocation();
int strIndex = bundleLocation.indexOf("/")+1;
String path = bundleLocation.subString(strIndex)+"properties/프로퍼티파일.properties";

이제 가져온 경로로 FileReader 사용해 프로퍼티를 읽어올 수 있음.

스택오버플로우짱

 


 

반응형