我试图使用p2操作从eclipse中卸载一个功能。
我为实现这一目标所做的是:
OperationFactory of = new OperationFactory();
ProfileChangeOperation operation;
//toInstall = List<IVersionedId> only containing the feature
operation = of.createUninstallOperation(toInstall, repos, monitor);
之后,我正在运行该操作。
该功能将成功卸载,但此功能中的插件将不再依赖其他功能/插件。这是不受欢迎的行为。
我已经尝试添加
org.eclipse.equinox.p2.ui.sdk.scheduler/gcOnStartup=true
到我的产品属性。</ p>
我也尝试过运行
eclipse.exe -application org.eclipse.equinox.p2.garbagecollector.application -profile DefaultProfile
没效果。
我添加了
-profileProperties org.eclipse.update.install.features=true
到我的程序参数。没效果。
此外,我尝试以编程方式实现GC,这也没有任何效果。
知道怎么解决这个问题吗? P2安装功能,包括所有相关插件。我希望它在卸载操作上的行为相同。
答案 0 :(得分:1)
只有在使用tycho构建时才会出现问题。我设法通过将org.eclipse.update.configurator
添加到启动级别4并将Auto-Start = false添加到我的产品启动级别来解决此问题。
另外,我在项目配置中的属性中添加了值为org.eclipse.update.reconcile
的{{1}}。
通过使用这种特殊的设置组合,卸载的插件不再显示。