我正在完成一个我想向第三方提供的Java库。
除了它的核心功能之外,我还提供了一些类,当用作Eclipse插件的一部分时,这些类可以简化我的库的使用。
然后,我的库中有一些依赖于某些OSGi / Eclipse类(例如org.osgi.framework.Bundle
,org.eclipse.core.runtime.FileLocator
,org.eclipse.jdt.core.dom.CompilationUnit
等等。
所以我的问题是:为第三方使用打包这个库的正确/方便的方法是什么?我应该包含所有包含所需依赖项的Eclipse jar吗?直觉上,我认为这不是一个好的解决方案,因为用户显然可能拥有与我的版本不同的Eclipse版本,这可能导致类加载冲突。不提供Eclipse罐子的解决方案 - 并要求用户找到他/她喜欢的罐子 - 并不能真正说服我。
我没有很多Maven的经验,但据我所知,我可以创建一个POM文件,用户可以用它来下载我项目的最新版本及其依赖项。但同样:在这种情况下,考虑到我上面写的原因,我还必须决定是否应该在下载中包含Eclipse jar。
感谢您分享您在这方面的经验。
答案 0 :(得分:1)
使用名为p2的配置平台在Eclipse中管理安装和更新。
最方便的方法是创建Feature来打包插件/库,并使用Feature Export wizard创建可以安装功能的p2元数据存储库。 P2将负责依赖。