我在哪里可以找到构建P2存储库的tycho pom第一个功能项目?

时间:2013-04-23 00:25:33

标签: pom.xml tycho p2

我想从位于maven中心的OSGI包中生成一个P2存储库。 我有

  1. 使用依赖项=考虑
  2. 定义了POM优先功能项目
  3. 使用范围编译和类型jar
  4. 定义了Maven依赖项
  5. 定义了一个feature.xml,其中包含对manifest.mf中声明的包符号名称和版本的精确引用。
  6. 当我尝试构建该功能时,我会收到

    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 是我正在构建的功能和 jackson-mapper-lgpl [1.9.12,1.9.13) jackson-core-lgpl [1.9.12,1.9.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:/resolution-context-artifacts@/home/jsuess/workspace/org.codehaus.jackson/features/org.codehaus.jackson)
    

    我相信从maven中创建捆绑包并创建P2必须是一个常见的用例,所以我想知道是否有人可以指出我可以用作模板的工作样本POM。

1 个答案:

答案 0 :(得分:1)

请注意,Tycho构建中的每个模块都有一个单独的目标平台。

因此,如果您使用pomDependencies=consider,但只在eclipse-feature模块上配置此开关和/或依赖项,则POM依赖项将仅位于模块的目标平台中。如果您尝试将该功能打包到eclipse-repository中,则该模块的依赖性解析将因为该功能缺少(传递)依赖性而失败。

在大多数情况下,每个模块不需要不同的目标平台,因此通常应将所有target platform configuration和POM依赖项放入父POM中。


如果您已完成此操作,但其中一个模块似乎仍有不同的目标平台,请确保该模块的父POM引用正确 - 并且您没有引用父POM的旧版本