2016-06-21 92 views
1

我嘗試使用p2操作從eclipse中卸載功能。使用p2卸載功能

我在做什麼來實現這一目標:

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 

添加到我的產品性能。

我也想跑

eclipse.exe -application org.eclipse.equinox.p2.garbagecollector.application -profile DefaultProfile 

無影響。

我加

-profileProperties org.eclipse.update.install.features=true 

我的程序參數。沒有效果。

此外,我試圖以編程方式實現GC,這也沒有效果。

任何想法如何解決這個問題? P2安裝了包括所有依賴插件的功能。我期望它在卸載操作上表現相同。

回答

1

問題只發生在與tycho的buildig。我設法通過添加org.eclipse.update.configurator來解決這個問題,啓動級別爲4,自動啓動= false爲我的產品啓動級別。

另外,我在產品配置中添加了org.eclipse.update.reconcile,其值爲false。

通過使用這種特殊的設置組合,卸載的插件不會再顯示出來。