2014-02-20 4 views
1

Eclipse built-in p2 director application을 사용하여 개발 중입니다. 그리고 p2-director는 경우에 따라 기능을 업데이트하지 못합니다.Eclipse p2 관리자 응용 프로그램에서 기능을 업데이트 할 수 없습니다.

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 

는 또한 .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 

이는 어쩌면 .maven 기능이 .maven.common 플러그인이 포함되어 있다는 사실과 관련. .common 플러그인은 다른 기능에서도 사용됩니다.
그러나 공유 된 종속성이없는 다른 기능에서도 마찬가지입니다. p2 디렉터 도움말 페이지는 로직을 지정하거나 참조를 제공하지 않습니다.

답변

4

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 ... 
+2

궁금하고, 즉 원자 작업이 될 것입니다 경우하다면 설치 실패 할 경우 제거가 적용되어서는 안됩니다 ... –

+2

p2에는 커밋/롤백 논리가 있으므로 작업은 원자 적이어야합니다. – oberlies

+0

'IProvisioningAgent'와'org.eclipse.equinox.p2.operations.UpdateOperation'을 사용하여 (어떤 프로파일에서도) p2 기능을 업데이트 할 수 있습니다.하지만 명령 행 도구로 노출되지는 않습니다. –