4

所以我们有以下场景

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

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

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

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

我们应该如何解决这个问题。我还没有找到一个很好的解决方案来解决这个问题。我在 maven 中尝试过 apache felix bundle 插件,但无法按我的意愿工作。这是正确的解决方案吗?

4

1 回答 1

3

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

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

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

于 2012-10-05T11:34:56.887 回答