2014-10-03 2 views
0

내 RCP 제품의 플러그인 폴더에 새 플러그인 (예 : com.XXX.version)을 복사 할 때 RCP 응용 프로그램이 있습니다. 제품이 새롭게 복사 된 플러그인은 프레임 워크에 의해로드되고 이전 버전을 대체합니다 (복사 한 버전이 기존 버전보다 큼).출시 도중 RCP 응용 프로그램에서 번들을 제거하는 방법

RCP 응용 프로그램이 실행 중일 때 (즉, 응용 프로그램이 사용 중일 때) 역순으로 처리하려고 할 때 (즉, 새로 복사 한 플러그인을 삭제하고 이전 상태로 되돌릴 때) 나는 실행 중입니다. 문제. 문제는 응용 프로그램이 이러한 JAR 파일을 정리 (또는 제거) 할 수없는 상위 버전의 플러그인 파일을 잠그고 있기 때문입니다.

해결하려면 해결 방법이 필요합니다. 제안을 크게 높이세요 !! 응용 프로그램을 이전 상태로 되돌리고 싶습니다.

답변

0

를 참조 내 문제에 대한 대답을 찾을.

내 요구 사항은 설치된 모든 플러그인을 지우는 것이고 JVM이 실행 중일 때 수행 할 수 없습니다 (RCP 애플리케이션이 실행 중일 때). 그래서 JVM 종료시 플러그인 JAR 파일을 삭제하려고했습니다 (예 : .. RCP 종료 중). java.io.File.deleteOnExit() 메소드를 사용하여 응용 프로그램 종료시 플러그인을 정리합니다. 다음 번 다시 시작하면 RCP 응용 프로그램은 이러한 플러그인을 취소하고 따라서 이전 상태로 되돌립니다.

0

삭제하기 전에 BundleContext에서 플러그인을 제거하려고 시도 했습니까? 제거에 대한 자세한 내용은

Platform.getBundle("yourBundle").uninstall(); 

()는 JavaDoc

+0

안녕하세요, Memmerling, 답장을 보내 주셔서 감사합니다. uninstall() 메소드를 시도했지만 잠금이 해제되지 않습니다. 번들의 상태를 UNINSTALLED로 변경합니다. – Ragu

관련 문제