2013-04-23 4 views
3

maven central에있는 OSGI 번들에서 P2 저장소를 생성하려고합니다. 나는이tycho pom 첫 번째 기능 프로젝트를 통해 P2 리포지토리를 구축 할 수있는 곳은 어디입니까?

  1. 종속성 = 스코프 컴파일 및 유형 항아리
  2. 정의 메이븐 의존성을 고려 사용 POM-첫 번째 장편 프로젝트는
  3. 번들 기호 이름과 버전에 대한 정확한 참조와 feature.xml을 정의 정의 나는 기능을 구축 할 때 자신의 MANIFEST.MF

에 선언, 나는

No solution found because the problem is unsatisfiable.": ["Unable to satisfy dependency from org.codehaus.jackson.feature.group 1.9.1.qualifier to jackson-mapper-lgpl [1.9.12,1.9.13).", "Unable to satisfy dependency from org.codehaus.jackson.feature.group 1.9.1.qualifier to jackson-core-lgpl [1.9.12,1.9.13).", "No solution found because the problem is unsatisfiable."] 
을받을

경우 org.codehaus.jackson.feature은 내가 건물입니다 기능 및 1.9.12,1.9.13) 및 잭슨 코어 - LGPL [1.9.12,1.9 [잭슨 - 매퍼 - LGPL입니다. 13)은 내가 포함하려고하는 OSGI 번들의 사양입니다. 내가 디버그 모드를 전환 할 때

, 내가 행동이 더 홀수하게하는 구성 요소가 발견되는 것을 볼 수 :

[DEBUG] P2Resolver: artifact org.codehaus.jackson:jackson-core-lgpl:1.9.12 at location /home/jsuess/.m2/repository/org/codehaus/jackson/jackson-core-lgpl/1.9.12/jackson-core-lgpl-1.9.12.jar resolves installable unit jackson-core-lgpl/1.9.12 
[DEBUG] P2resolver.addMavenArtifact org.codehaus.jackson:jackson-mapper-lgpl:jar:1.9.12:compile 
[DEBUG] P2Resolver: artifact org.codehaus.jackson:jackson-mapper-lgpl:1.9.12 at location /home/jsuess/.m2/repository/org/codehaus/jackson/jackson-mapper-lgpl/1.9.12/jackson-mapper-lgpl-1.9.12.jar resolves installable unit jackson-mapper-lgpl/1.9.12 
[DEBUG] Registered artifact repository org.eclipse.tycho.repository.registry.facade.RepositoryBlackboardKey(uri=file:/[email protected]/home/jsuess/workspace/org.codehaus.jackson/features/org.codehaus.jackson) 

내가 받는다는에서 번들을 복용 믿고 P2를 만드는 것은 일반적인 사용 사례 수 있어야합니다, 그래서 누군가 내가 템플릿으로 사용할 수있는 샘플 POM을 가리킬 수 있는지 궁금합니다.

+0

디버그 모드를 켜면 구성 요소가 발견되어 동작이 더 이상하게 보입니다. –

+0

누락 된'jackson-mapper-core' 번들은'P2Resolver' 디버그 출력에 없습니다 ... – oberlies

+0

나는 그것을 고쳤다. 불행히도 결과는 바뀌지 않습니다. 이제는 둘 다 불평합니다. [ "org.codehaus.jackson.feature.group 1.9.1.qualifier의 종속 관계를 jackson-mapper-lgpl [1.9.12,1.9.13]으로 만족시킬 수 없습니다.", "org.codehaus에서 종속성을 만족시킬 수 없습니다. jackson.feature.group 1.9.1.qualifier to jackson-core-lgpl [1.9.12,1.9.13]. ","문제가 해결할 수 없기 때문에 해결책을 찾지 못했습니다. " –

답변

1

Tycho 빌드의 모든 모듈에는 별도의 대상 플랫폼이 있습니다.

pomDependencies=consider을 사용하고 있지만이 스위치 및/또는 eclipse-feature 모듈의 종속성 만 구성하는 경우 POM 종속성은 모듈의 대상 플랫폼에만 있습니다. 그런 다음 해당 기능을 eclipse-repository에 패키지하려고하면 해당 기능의 누락 (이행 적) 종속성으로 인해 해당 모듈의 종속성 해결이 실패합니다.

대부분의 경우 모듈 당 다른 대상 플랫폼이 필요하지 않으므로 일반적으로 target platform configuration 및 POM 종속성을 상위 POM에 모두 넣어야합니다.


이 작업을 완료 한 경우

하지만 모듈 중 하나는 여전히 다른 대상 플랫폼이 해당 모듈의 부모 POM 참조가 올바른지 확인하는 것 - 당신은 이전 버전을 참조하지 않는 것이 부모 POM의