Eclipse p2 Director应用程序无法更新功能

Pau*_*est 1 eclipse p2 command-line-interface nodeclipse p2-director

我正在开发Node.js脚本,以使用Eclipse内置的p2 Director应用程序安装Eclipse插件。在某些情况下,p2-director无法更新功能。

D:\Workspaces\Nodeclipse-DEV\nodeclipse-1\org.nodeclipse.ui\templates>node nodeclipse-install.js install -repository jar:file:/D:/Workspaces/Nodeclipse-DEV/nodeclipse-1/org.nodeclipse.site/target/org.nodeclipse.site-0.10.0-SNAPSHOT.zip!/ maven
Nodeclipse CLI Installer (Eclipse Plugin Manager epm)
starting eclipsec -nosplash -application org.eclipse.equinox.p2.director -repository jar:file:/D:/Workspaces/Nodeclipse-DEV/nodeclipse-1/org.nodeclipse.site/target/org.nodeclipse.site-0.10.0-SNAPSHOT.zip!/ -installIU org.nodeclipse.enide.maven.feature.feature.group -tag org.nodeclipse.enide.maven.feature.feature.group -vmargs -Declipse.p2.mirrors=false
Installing org.nodeclipse.enide.maven.feature.feature.group 0.10.0.201402180840.

Installation failed.

Cannot complete the install because of a conflicting dependency.
 Software being installed: Enide Maven 0.10.0.201402180840 (org.nodeclipse.enide.maven.feature.feature.group 0.10.0.201402180840)
 Software currently installed: Enide Maven 0.10.0.201402170319 (org.nodeclipse.enide.maven.feature.feature.group 0.10.0.201402170319)
 Only one of the following can be installed at once:
  Enide Maven 0.10.0.201402180840 (org.nodeclipse.enide.maven.feature.feature.jar 0.10.0.201402180840)
  Enide Maven 0.10.0.201402170319 (org.nodeclipse.enide.maven.feature.feature.jar 0.10.0.201402170319)
 Cannot satisfy dependency:
  From: Enide Maven 0.10.0.201402170319 (org.nodeclipse.enide.maven.feature.feature.group 0.10.0.201402170319)
  To: org.nodeclipse.enide.maven.feature.feature.jar [0.10.0.201402170319]
 Cannot satisfy dependency:
  From: Enide Maven 0.10.0.201402180840 (org.nodeclipse.enide.maven.feature.feature.group 0.10.0.201402180840)
  To: org.nodeclipse.enide.maven.feature.feature.jar [0.10.0.201402180840]
Application failed, log file location: E:\Eclipse\Enide-Studio-2014-try2-win64\eclipse\configuration\1392717353881.log

eclipsec process exit code 13
Run Code Online (Sandbox Code Playgroud)

我还尝试通过.feature.jarfeature.group

eclipsec -nosplash -application org.eclipse.equinox.p2.director -repository jar:file:/D:/Workspaces/Nodeclipse-DEV/nodeclipse-1/org.nodeclipse.site/target/org.nodeclipse.site-0.10.0-SNAPSHOT.zip!/ -installIU org.nodeclipse.enide.maven.feature.feature.group -tag org.nodeclipse.enide.maven.feature.feature.group -vmargs -Declipse.p2.mirrors=false
Run Code Online (Sandbox Code Playgroud)

这可能与.maven功能包括.maven.common插件有关。.common插件也被其他功能使用。
但是,其他没有共享依赖关系的功能也会发生这种情况。p2 Director帮助页面未指定逻辑,也未提供参考。

obe*_*ies 5

在p2导演级别上,没有“更新”操作。相反,您需要告诉导向器“卸载”和“安装”要更新的IU:

eclipse -application org.eclipse.equinox.p2.director -uninstallIU org.nodeclipse.enide.maven.feature.feature.group -installIU org.nodeclipse.enide.maven.feature.feature.group -repository ...
Run Code Online (Sandbox Code Playgroud)

  • 我想知道是否保留了插件设置,并且该设置是否为原子操作,即如果安装失败,则不应应用卸载... (2认同)
  • p2具有提交/回滚逻辑,因此操作应该是原子的。 (2认同)