我正在开发Eclipse插件,在我开发插件的Eclipse Kepler平台中,我添加了一个文件:bundle org.eclipse.jface.databinding 1.6.200
作为依赖项之一。当我尝试在另一台机器上安装Eclipse Juno中的插件时,它失败了。错误消息为:...bundle org.eclipse.jface.databinding 1.6.200' but it could not be found
。
有谁能告诉我如何解决这个问题?
答案 0 :(得分:1)
在开发Eclipse插件时,您必须仔细考虑您的依赖项。 OSGi(在其上构建Eclipse)具有指定依赖项的版本和/或版本范围的能力,这与普通的Java JAR依赖项不同。因此,您需要始终考虑在开发插件时要支持的版本范围。
在您的情况下,org.eclipse.jface.databinding
的1.6.200版本是最新版本的Eclipse(Luna和Kepler),但Juno的版本较旧(1.6.0)。因此,如果您希望您的插件与Juno兼容,则需要在org.eclipse.jface.databinding
的依赖项中指定版本范围。看看有多少Eclipse插件为示例声明了自己的depdencies。
你真的应该阅读更多关于它来教育自己(这不是普通的Java项目,只是添加没有版本信息的JAR)。以下是一些有用的链接:
关于这些东西有很多东西要理解;采取天真的方法是不明智的,但遗憾的是大多数教程都掩盖或完全忽略了依赖管理的这些方面。