Eclipse now supports p2, a much more flexible system over the old update manager. It can be used to install new software and check for updates to existing software.
You can enable the p2 self-update part without an interface, although the complete process, which includes Help> Install new updates, is described here http://wiki.eclipse.org/Equinox/p2/Adding_Self-Update_to_an_RCP_Application
All updates in eclipse are easier to manage if you use this function, but in this function you can mark the RCP application plugin for extension to the directory, and not as a jar (it will do it automatically).
. ? ? eclipse OSGi, , ? p2 , . . http://wiki.eclipse.org/P2
Edit:
API p2 - :
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 {
}
context.ungetService(reference);
}
}
(, ), API.