Tycho build error: "... requires bundle ... but it could not be found"

Tycho build error: "... requires bundle ... but it could not be found"

我们有一个 eclipse Luna 插件应用程序,我们正在尝试使用 Tycho 构建它。当我们尝试执行 mvn clean verify 时,我们收到此类消息:

[ERROR]  Cannot resolve project dependencies:
[ERROR]   Software being installed: our.app 1.0.0.qualifier
[ERROR]   Missing requirement: our.app 1.0.0.qualifier requires 'bundle org.eclipse.core.runtime 3.7.0' but it could not be found

当我们查看日志时,似乎任何所需的 Eclipse 插件都会给我们这个错误,而且这只是 MANIFEST.MF 列表中正在验证的插件的第一项。

我查看了其他问题,但其中 none 似乎解决了这个特定问题。任何建议将不胜感激。

MANIFEST.MF:

Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: Our App
Bundle-SymbolicName: our.app;singleton:=true
Built-By: Our Team (2014)
Bundle-ClassPath: .,
 <some jars>
Bundle-Vendor: Our Team
Require-Bundle: org.eclipse.core.runtime;bundle-version="3.7.0",
 org.eclipse.ui;bundle-version="3.7.0",
 org.eclipse.ui.ide;bundle-version="3.7.0",
 org.eclipse.core.resources;bundle-version="3.7.0",
 org.eclipse.ui.forms;bundle-version="3.6.0",
 org.eclipse.wst.sse.ui;bundle-version="1.3.0",
 org.eclipse.jface.text;bundle-version="3.8.100",
 org.eclipse.ui.workbench.texteditor;bundle-version="3.8.101",
 org.eclipse.ui.views;bundle-version="3.6.0"
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Bundle-Version: 1.0.0.qualifier

如果我从 pom 中删除 <repository> 标签,我会得到类似的错误。 如果没有这些信息,Tycho 就不知道从哪里下载所需的包。 因此,您必须将以下代码片段添加到您的 pom:

<repository>
   <id>eclipse-indigo</id>
   <url>http://download.eclipse.org/releases/indigo</url>
   <layout>p2</layout>
</repository>

我从 here, for more information look here 复制了片段。

Tycho 读取您的 MANIFEST.MF 和 feature.xml 以找到插件的依赖项并将它们(临时)添加到 Maven 用于执行构建的 POM。 Tycho 的想法是仅在 MANIFEST.MF 和 feature.xml 中维护依赖关系,从而使您无需将它们也添加到 POM 中。但是,您仍然需要添加一个适当的存储库,通常在父 POM 中,其中可以找到依赖的插件。这显然在您的 POM 中缺失。