2014-10-09 115 views
0

我正在開發一個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 foundEclipse插件部署:找不到包文件

誰能告訴我如何解決這個問題?

回答

1

開發Eclipse插件時,您必須仔細考慮您的依賴關係。與常規Java JAR依賴關係不同,OSGi(構建Eclipse的能力)具有爲依賴關係指定版本和/或版本範圍的能力。因此,您需要始終考慮開發插件時想要支持的版本範圍。

對於您的情況,版本1.6.200的org.eclipse.jface.databinding是最新版本的Eclipse(Luna和Kepler)中的版本,但Juno的版本較舊(1.6.0)。所以如果你想讓你的插件與Juno兼容,你需要在你的依賴項中指定一個版本範圍org.eclipse.jface.databinding。看看有多少Eclipse插件聲明他們自己的例子。

你真的應該更多地瞭解它以教育自己(這不是一般的Java項目,只是添加沒有版本信息的JAR)的小事。下面是一些有用的鏈接:

有很多東西要了解這個東西;採取一種天真的做法並不明智,但遺憾的是,大多數教程都忽略了或完全忽略了依賴管理的這些方面。

+0

嗨E-Riz,非常感謝您的長時間評論。他們非常有用,我會盡力挖掘這個問題並學習這些東西。 – chygo 2014-10-09 13:29:06