넷빈즈 플랫폼(Netbeans Platform) 개발시, 리펙토링 후 발생하는 익셉션의 원인과 해결방법.
넷빈즈에는 스윙으로 윈도우즈 어플리케이션 개발을 편하게 할 수 있도록 도와주는
넷빈즈 플랫폼(Netbeans Platform)이 내장되어있다.
넷빈즈 플랫폼은, 간단히 말해 넷빈즈IDE를 어플리케이션 구동 환경으로 사용하여 그위에 필요한 어플리케이션을 플러그인
개념으로 개발하여, 넷빈즈위에 뚝딱뚝딱 얹기만해서 하나의 완성된 위도우즈 어플리케이션을 완성하도록하는 기능이다.
넷빈즈 플랫폼으로 작성된 다양한 상용/비상용 어플리케이션 스크린 샷은 여기서 볼 수 있다.
넷빈즈 플랫폼 으로 스윙어플 개발 시 다른 개발자의 모듈을 CVS에서 체크아웃 받거나 리펙토링 기능으로 패키지 리팩토링 후
프로젝트를 실행하면 아래 그림과 같은 익셉션 발생 하는 경우가 발생한다.
< 패키지 리팩토링 후 프로젝트 실행 시 익셉션 발생 화면 >
넷빈즈 5.0 플랫폼으로 스윙어플 작성시 패키지를 리펙토링을 수행하면
소스, layer.xml, mainfast 파일을 자동으로 수정 해 주지만 리펙토링 해 주는 부분을
잘 확인 해 보면 몇몇 부분은 자동으로 리펙토링 해 주지 않는 부분이 있음을확인 할 수 있다.
예를 들면 소스내에 패키지 명을 String 문자열로 기록 해 둔 부분이라든지
소스 생성 시 layer.xml등에서 auto generation 해 준 코드 부분이 있다.
좀 더 구체적인 예를 들면 넷빈즈 5.0 플랫폼으로 스윙어플을 작성하면
메뉴바를 구성하는 ***Action.java 클래스를 생성하는데
여기에 메뉴바에 표시할 아이콘 정보를
protected String iconResource() {
return "com/prompt/csont/mokrokstatus/Connect.png";
}
와 같은 메소드로 표현 하고 있다.
***Action.java 소스에 기술해 둔 아이콘 경로값은 String 문자열이기 때문에 리펙토링 대상이 되지 않는 상태에서
패키지 리펙토링이 이루어지고 나면 실제 수행시 아이콘 이미지 파일을 칮을 수 없어 위 와 같은 익셉션 발생한다.
아직까지 이런 부분은 수작업으로 교정 해 주는 수 밖에 없다.
Trackback Address:이 글에는 트랙백을 보낼 수 없습니다