2012-07-26 1 views
4

일반 Maven 아티팩트에 종속 된 Eclipse 플러그인을 만들려고합니다. 난 단지 타사 종속성을 사용하지만 티코 예제를 itp02을 따랐다Tycho가 일반 Maven 의존성에 대한 내 자신의 래퍼에서 패키지를 해석하지 못함

Parent POM 
|- Dependencies (Third Party) 
\- My Code 
    |- Bundle 
    \- Bundle Tests 

: 나는 다음과 같은 프로젝트 구조를 만들었습니다. 이 아이디어는 모든 종속성을 묶음으로 묶어서 내 번들의 입력으로 사용한다는 것을 이해했습니다. 종속성 번들을 올바르게 빌드하고 설치합니다. Jar 파일이 생성되고 Maven 저장소에서 가져온 모든 JAR 파일을 포함합니다. 그러나 번들을 컴파일하려고 할 때 내 번들 매니페스트의 패키지를 가져올 수 없다는 오류가 발생합니다.

[ERROR] Missing requirement: MyPlugin 0.0.1.qualifier requires 'package org.apache.commons.lang.StringEscapeUtils 0.0.0' but it could not be found 
[ERROR] 
[ERROR] Internal error: java.lang.RuntimeException: "No solution found because the problem is unsatisfiable.": ["Unable to satisfy dependency from MyPlugin 0.0.1.qualifier to package org.apache.commons.lang.StringEscapeUtils 0.0.0.", "No solution found because the problem is unsatisfiable."] -> [Help 1] 
org.apache.maven.InternalErrorException: Internal error: java.lang.RuntimeException: "No solution found because the problem is unsatisfiable.": ["Unable to satisfy dependency from MyPlugin 0.0.1.qualifier to package org.apache.commons.lang.StringEscapeUtils 0.0.0.", "No solution found because the problem is unsatisfiable."] 

무엇이 누락 되었습니까?

답변

5

프로젝트가 어떻게 설정되었는지 또는 빌드하는 데 사용 된 명령이 명확하지 않습니다. 그러나 "POM parent"는 귀하가 한 번에 모든 것을 구축하려고 시도하고 있다고 제안하는 것 같습니다. 그렇다면, pom-first (maven-bundle-plugin) 프로젝트와 manifest-first (eclispe-plugin) 프로젝트를 같은 빌드에 혼합 할 수 없습니다. [1]을 참조하십시오. 먼저 pom-first 프로젝트를 로컬 Maven 저장소에 빌드하고 설치 한 다음 manifest-first 프로젝트를 빌드해야합니다.

확인할 두 번째 사항은 올바른 종속성을 구성했으며 [2]에서와 같이 pomDependencies =를 고려한 것입니다.

마지막으로, 도움이되지 않으면 로컬 메이븐 저장소의 jar 파일에 올바른 "Export-Package"문이있는 META-INF/MANIFEST.MF가 있는지 확인하십시오. 특히 org에 대한 행이 있어야합니다. apache.commons.lang.StringEscapeUtils.

[1] http://wiki.eclipse.org/Tycho/How_Tos/Dependency_on_pom-first_artifacts#It_is_not_possible_to_mix_pom-first_and_manifest-first_projects_in_the_same_reactor_build.

[2] http://git.eclipse.org/c/tycho/org.eclipse.tycho-demo.git/tree/itp02/build02/pom.xml

+1

@Sallum : 내가 제안 단계 중 하나가 문제를 해결하는 알고 싶은데요. – oberlies