关闭。这个问题是opinion-based .它目前不接受答案。
想改进这个问题?更新问题,以便 editing this post 可以用事实和引用来回答它.
7年前关闭。
Improve this question
我已经编写了相当多的java,并且熟悉maven和eclipse,
但我之前没有制作过 OSGi。
我们的场景是这样的:
困境:
我为我的所有应用程序构建了一个模块化的 maven,但是使用 maven 来创建这个 OSGi 包似乎有点乏味。
总而言之,在我看来,使用 maven 来完成这项任务会增加很多开销和复杂性,但并没有真正获得太多,因为无论如何都需要手动检查依赖项。
我很想将我们需要的每个 jar 转储到我们的版本控制存储库中,为此创建一个 eclipse 项目(Eclipse 支持 OSGi 相当好),并将类路径指向所需的 jar(仅用于编译目的..它们实际上不是显然与 jar 捆绑在一起)。
然后让eclipse最后为它生成一个ant buildscript。
这将是快速且相当无痛的。有人有什么建议吗? Maven方式? eclipse 方式?还有什么?
最佳答案
(注意:我没有资格回答这个问题,因为我对 maven+osgi 不是很好)
首先,OSGi 框架在您的 Web 应用程序中位于哪里?是应用程序本身启动框架还是框架启动应用程序?例如
当前的架构将限制您可能的途径。
您是否考虑过 mavenizing 现有的第三方库并拥有一个内部 maven repo?当您使用它时,您可以向它们添加 OSGi 元数据。这将允许您将捆绑包构建为独立捆绑包,而无需在每个库中进行链接。如果您使用包导入(推荐)而不是捆绑包导入,则可以避免在 OSGi 框架中安装 OSGi-fied 3rd 方 jar;相反,您修改框架启动并指定第 3 方 jar 中的所有包都由原始类加载器提供。
关于Java OSGI。 Maven vs Eclipse+Ant - 最佳实践,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25104719/