Eclipse는 이제 이전 업데이트 관리자보다 훨씬 유연한 시스템 인 p2를 지원합니다. 새로운 소프트웨어를 설치하고 기존 소프트웨어의 업데이트를 확인하는 데 사용할 수 있습니다.
새로운 업데이트를 설치> 도움말을 포함하는 전체 프로세스가 여기에 설명되어 있지만 당신은 당신이 사용하는 경우 이클립스
http://wiki.eclipse.org/Equinox/p2/Adding_Self-Update_to_an_RCP_Application
모든 업데이트가 관리자에게 쉽게, 아니 UI와 P2의 자기 갱신 부분을 포함 할 수
기능이 있지만이 기능은 RCP 앱 플러그인을 항아리가 아닌 디렉토리로 확장하도록 표시 할 수있는 곳입니다. 자동으로 실행됩니다.
모든 앱에 자체 업데이트를 추가하는 것은 간단합니다. 한 번에 모든 항아리를 업데이트하거나 하나만 선택합니까? 어느 항아리가 동시에 업데이트하는 것이 의미가 있습니까? OSGi 기반의 Eclipse를 사용하면 어떻게 업데이트하여 시스템을 작동 상태로 유지할 수 있습니까? p2는 이러한 활용 사례를 관리하는 데 도움이되도록 제작되었습니다.가 이
간단한 자기 갱신은 UI 코드의 포함하지 않고 P2 API를 사용하여 추가 할 수 있습니다
:
public class SelfUpdateOperation {
public static void update() {
BundleContext context = FrameworkUtil.getBundle(
SelfUpdateOperation.class).getBundleContext();
ServiceReference<?> reference = context
.getServiceReference(IProvisioningAgent.SERVICE_NAME);
if (reference == null)
return;
Object obj = context.getService(reference);
IProvisioningAgent agent = (IProvisioningAgent) obj;
ProvisioningSession session = new ProvisioningSession(agent);
UpdateOperation update = new UpdateOperation(session);
IStatus result = update.resolveModal(new NullProgressMonitor());
if (result.isOK()) {
update.getProvisioningJob(new NullProgressMonitor()).schedule();
} else {
// can't update for some reason
}
context.ungetService(reference);
}
}
이 약간의 작업을 필요로를 (아마도 제품이있다 http://wiki.eclipse.org/P2이
편집 참조 업데이트 사이트 포함). 기본 API입니다.
감사합니다. 그러나 질문이 ... 나는 설치 프로그램을 사용합니다. – marcolopes