在OSGi / Eclipse jar中打包带有依赖项的Java库

时间:2011-12-09 18:21:46

标签: java eclipse eclipse-plugin software-packaging

我正在完成一个我想向第三方提供的Java库。 除了它的核心功能之外,我还提供了一些类,当用作Eclipse插件的一部分时,这些类可以简化我的库的使用。 然后,我的库中有一些依赖于某些OSGi / Eclipse类(例如org.osgi.framework.Bundleorg.eclipse.core.runtime.FileLocatororg.eclipse.jdt.core.dom.CompilationUnit等等。

所以我的问题是:为第三方使用打包这个库的正确/方便的方法是什么?我应该包含所有包含所需依赖项的Eclipse jar吗?直觉上,我认为这不是一个好的解决方案,因为用户显然可能拥有与我的版本不同的Eclipse版本,这可能导致类加载冲突。不提供Eclipse罐子的解决方案 - 并要求用户找到他/她喜欢的罐子 - 并不能真正说服我。

我没有很多Maven的经验,但据我所知,我可以创建一个POM文件,用户可以用它来下载我项目的最新版本及其依赖项。但同样:在这种情况下,考虑到我上面写的原因,我还必须决定是否应该在下载中包含Eclipse jar。

感谢您分享您在这方面的经验。

1 个答案:

答案 0 :(得分:1)

  

使用名为p2的配置平台在Eclipse中管理安装和更新。

最方便的方法是创建Feature来打包插件/库,并使用Feature Export wizard创建可以安装功能的p2元数据存储库。 P2将负责依赖。