【问题标题】:Tycho missing plugin when building an update site构建更新站点时第谷缺少插件
【发布时间】:2014-09-22 13:55:14
【问题描述】:

当我通过 tycho-maven-plugin 构建项目时,我遇到以下消息:

[ERROR] Cannot resolve project dependencies:
[ERROR]   Software being installed: foo-updatesite raw:0.2.0.'SNAPSHOT'/format(n[.n=0;[.n=0;[-S]]]):0.2.0-SNAPSHOT
[ERROR]   Missing requirement for filter properties ~= $0: foo-feature.feature.group 0.2.0.qualifier requires 'foo-plugin 0.0.0' but it could not be found
[ERROR]   Cannot satisfy dependency: foo-updatesite raw:0.2.0.'SNAPSHOT'/format(n[.n=0;[.n=0;[-S]]]):0.2.0-SNAPSHOT depends on: foo-feature.feature.group [0.2.0,0.2.1)

在构建更新站点时会发生此错误。插件和功能正常构建。我从 PDE 构建更新站点没有问题。

项目结构通用:有一个父项目,有pom封装,三个模块:plugin、feature、updatesite。当然,我从父项目调用mvn clean package

此错误的原因可能是什么?如何调试?

UPD:我尝试了很多方法:删除“祖父母”pom,删除 SNAPSHOT/限定符,使用配置。但是,我找到了解决方案:我切换到 tycho 0.19 而不是 0.21。所以我想第谷 0.21 有一个错误。

【问题讨论】:

  • 如果单独构建插件项目会发生什么?我认为该项目中的 artifactId 和 Bundle-SymbolicName 之间存在不一致。
  • 插件构建没有问题。我检查了 MANIFEST.MF 和 pom.xml。 artifactIdBundle-SymbolicName 是相同的。
  • 捆绑包是否特定于平台,即它是否有 Eclipse-PlatformFilter 标头?
  • 如果您认为 Tycho 存在错误,请报告here。确保附上一个重现问题的小示例项目。

标签: maven tycho eclipse-pde


【解决方案1】:

错误信息

Missing requirement for filter properties ~= $0

表示当您在feature.xml 中包含插件foo-plugin 时,您已经定义了一个环境过滤器。但是,这并不能解释您看到的依赖项解析错误。我可以重现错误消息的唯一方法是在插件的清单中添加一个Eclipse-PlatformFilter 标头,使用的值与 POM 中的环境配置不匹配。

【讨论】:

    【解决方案2】:

    我收到了同样的错误信息:

    Missing requirement for filter properties ~= $0: foo-feature.feature.group 0.2.0.qualifier requires 'foo-plugin 0.0.0' but it could not be found
    

    由于某种原因,这个错误(也)意味着,foo-plugin 存在......两次。

    因此,在您的情况下,请打开“目标编辑器”的“内容”选项卡,并确保 foo-plugin 不存在于两个不同的版本中。如果两个功能包含相同的捆绑包,我通常会发生这种情况。

    【讨论】:

      猜你喜欢
      • 2011-03-30
      • 1970-01-01
      • 2012-07-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-07-06
      相关资源
      最近更新 更多