2013-04-26 4 views
0

Eclipse Tycho를 사용하여 GMF 종속성이있는 RCP 응용 프로그램을 빌드하고 있습니다.Eclipse Tycho가 올바른 종속성을 해결할 수 없음

[ERROR] Internal error: java.lang.RuntimeException: Could not download artifacts from any repository 
[ERROR] osgi.bundle,org.eclipse.gmf.runtime.emf.core,1.4.1.v20120514-1615 
[ERROR] osgi.bundle,org.eclipse.gmf.runtime.emf.commands.core,1.4.0.v20120514-1615 
[ERROR] osgi.bundle,org.eclipse.gmf.runtime.emf.ui.properties,1.5.0.v20120514-1615 
[ERROR] osgi.bundle,org.eclipse.gmf.runtime.diagram.ui,1.6.0.v20120514-1615 
[ERROR] osgi.bundle,org.eclipse.gmf.runtime.diagram.ui.properties,1.4.2.v20120514-1615 
[ERROR] osgi.bundle,org.eclipse.gmf.runtime.diagram.ui.providers,1.5.0.v20120514-1615 
[ERROR] osgi.bundle,org.eclipse.gmf.runtime.diagram.ui.providers.ide,1.2.0.v20120514-1615 
[ERROR] osgi.bundle,org.eclipse.gmf.runtime.diagram.ui.render,1.6.0.v20120514-1615 
[ERROR] osgi.bundle,org.eclipse.gmf.runtime.diagram.ui.resources.editor,1.4.1.v20120514-1615 
[ERROR] osgi.bundle,org.eclipse.gmf.runtime.diagram.ui.resources.editor.ide,1.2.1.v20120514-1615 

나는 MANIFEST.MF에 다음과 같은 의존성도 명시하고있다 - -

- 나는대로 GMF 번들의 저장소 위치를 제공 한

org.eclipse.gmf.runtime.emf.core;bundle-version="1.4.1", 
org.eclipse.gmf.runtime.emf.commands.core;bundle-version="1.4.0", 
org.eclipse.gmf.runtime.emf.ui.properties;bundle-version="1.5.0", 
org.eclipse.gmf.runtime.diagram.ui;bundle-version="1.6.0", 
org.eclipse.gmf.runtime.diagram.ui.properties;bundle-version="1.4.2", 
org.eclipse.gmf.runtime.diagram.ui.providers;bundle-version="1.5.0", 
org.eclipse.gmf.runtime.diagram.ui.providers.ide;bundle-version="1.2.0", 
org.eclipse.gmf.runtime.diagram.ui.render;bundle-version="1.6.0", 
org.eclipse.gmf.runtime.lite.svg;bundle-version="1.0.0", 
org.eclipse.gmf.runtime.diagram.ui.resources.editor;bundle-version="1.4.1", 
org.eclipse.gmf.runtime.diagram.ui.resources.editor.ide;bundle-version="1.2.1", 

나는 다음과 같은 오류를 얻고있다

<repository> 
    <id>gmf-runtime</id> 
    <url>http://download.eclipse.org/modeling/gmp/gmf-runtime/updates/releases</url> 
    <layout>p2</layout> 
</repository> 

P2 저장소에는 위의 JAR 파일이 모두 있습니다. 유일한 차이점은 Tycho가 .v20120514-1615 한정자를 찾고 있다는 것입니다. 그러나 P2 저장소에는 .201302191707 한정자가 있습니다. Tycho가 특정 한정자를 찾고 최신 버전으로 해결하지 않는 이유를 모르겠습니다.

+0

.v20120514-1615 버전도 대상 플랫폼에있는 것으로 보입니다. 구성한 다른 p2 저장소는 gmf 설치 가능 유닛 (content.jar/content.xml 참조)을 포함하지만 해당 아티팩트는 포함하지 않는 것으로 보입니다. – oberlies

+0

@oberlies : 설치 가능한 유닛이있는 P2 저장소를 추적 할 수있는 방법이 있는지 궁금하십니까? maven/tycho 디버그 플래그가 아마도? – Pushkar

+1

'-Dtycho.debug.resolver = true'는 [대상 플랫폼] (http://wiki.eclipse.org/Tycho/Target_Platform#Effective_content_of_target_platform)의 모든 IU를 출력하지만 AFAIK는 어떤 p2 저장소가 내용은에서 유래한다. 이 경우에도 [개선 요청] (https://bugs.eclipse.org/bugs/enter_bug.cgi?product=Tycho)을여십시오. – oberlies

답변

2

원본 P2 Repo가 손상된 것으로 보입니다. 문제는 플러그인이 참조되지 않은 경우에도 Tycho가 전체 P2 저장소를 색인하려고 시도한다는 것입니다. 이 문제를 해결하기 위해 무엇을했던 것은이었다 -

  1. 열기 .product 파일과 메이븐의 태그에서 공유 위치
  2. 에 내 보낸 제품 유물에서 제품
  3. 복사 '저장소'폴더를 내 보낸 배치 pom.xml은 외부 저장소가있는 경우 대신이 저장소의 위치를 ​​제공합니다. 모든 Tycho 빌드가이 저장소를 사용합니다.

이렇게하면 repo 크기가 작고 모든 빌드 문제가 해결됩니다.

+0

"Tycho는 _.jars_가 참조되지 않은 경우에도 전체 P2 저장소를 색인하려고합니다."라는 뜻입니까? –

+0

@PaulVerest : 불행히도 예. 그러나 인덱싱은 기본적으로 P2 저장소에서 content.jar 파일을 확인하고 모든 문제를 해결할 수 있는지 확인합니다. P2 repo가 ​​올바르게 설정되어있는 한 모든 것이 올바르게 작동합니다. 내가 찾은 가장 좋은 방법은 우리 서버에 repos를 미러링하는 것입니다 (아마도 더 좋은 방법이있을 수 있습니다). – Pushkar

관련 문제