我使用Tycho构建了一个Eclipse插件项目。
我收到了此错误消息。
[ERROR] Cannot resolve project dependencies:
[ERROR] Software being installed: org.sample.ide.core 1.0.0.qualifier
[ERROR] Missing requirement: org.sample.ide.core 1.0.0.qualifier requires 'bundle org.sample.ide.common 1.0.0' but it could not be found
org.sample.ide.core-1.0.0.qualifier将org.sample.ide.common-1.0.0.qualifier作为必需的包。
当我使用Eclipse PDE导出功能导出插件项目时,依赖项目在同一工作区内被识别。
我的manifest.mf版本像1.0.0.qualifier,我的pom.xml有1.0.0-SNAPSHOT。那是问题吗?
答案 0 :(得分:3)
支持具有.qualifier
版本的工件,因此这不是导致问题的原因。
但是我不确定Tycho在依赖中是否支持.qualifier
替换,例如Require-Bundle
标题。 (至少,这是buggy。)因此,您应该尝试使用版本1.0.0
而不是1.0.0.qualifier
来构建项目。
答案 1 :(得分:2)
Tycho使用所有清单文件中的reactor构建中的时间戳或固定字符串替换.qualifier。它解析了从附加的目标文件和本地存储库定义的存储库中的文件。如果这些都不包含完全匹配的依赖项,则tycho将不会成功构建。 请注意,PDE导出的分辨率基于Eclipse中设置的当前目标,并且该PDE将替换工作空间中打开的所有捆绑包的限定符。 Tycho不知道这些,其范围是构建期间 reactor 中包含的内容。