Maven与OSGI和非OSGI项目

时间:2012-10-05 07:27:58

标签: eclipse maven intellij-idea osgi tycho

所以我们有以下场景

我们在非osgi环境中使用maven和Intellij进行项目,然后我们在osgi环境中使用eclipse进行项目。 eclipse项目正在开发RCP应用程序,因此正在使用插件架构(OSGI)。

所以我们有: 项目A - maven在非Osgi环境中组织项目 项目B - 用于创建应用程序的maven tycho,但是使用带有目标平台的eclipse项目结构等。 项目C-maven组织了具有maven依赖项的项目,这些项目应该在项目A和项目B中都有效。

我们还安装了带有p2插件的Nexus,以便maven-tycho可以正常工作。

我们遇到的一个大问题是我们无法弄清楚如何构建项目C,以便它对项目A和B都没有问题。在项目A中我们希望maven应该像往常一样工作并拉下依赖项如所须。但我们也希望项目B中的功能(可能与Nexus + Tycho组合?)。

我们应该如何解决这个问题。我还没有找到一个如何做到这一点的好解决方案。我在maven中尝试过apache felix bundle plugin,但是无法按照我的意愿使用它。这是正确的解决方案吗?

1 个答案:

答案 0 :(得分:3)

我认为您最好的选择是使用Nexus P2 Repository Plugin

您可以使用maven-bundle-plugin为项目C开发和部署标准OSGi包,这些包可由项目A通过maven构建直接使用。

然后,通过使用Nexus P2 Repository插件,您还可以将这些OSGi包作为标准P2存储库公开,可以通过tycho构建由Project B使用。