eclipse - Maven 与 OSGI 和非 OSGI 项目

标签 eclipse maven intellij-idea osgi tycho

所以我们有以下场景

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

所以我们有: 项目 A – 非 Osgi 环境中的 Maven 组织项目 项目 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 捆绑插件,但无法让它按我想要的方式工作。这是正确的解决方案吗?

最佳答案

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

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

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

关于eclipse - Maven 与 OSGI 和非 OSGI 项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12741572/

相关文章:

Eclipse – Hibernate 工具 – 新的连接配置文件

android - Eclipse Android项目,如何在工作区中引用库?

java - 用户需要安装maven才能执行uber jar吗?

Intellij 中的 Git rebase - 如何一键选择所有临时提交为 "squash"?

spring - Gradle构建没有完成

JavaEE/Tomcat 9.0.0/IntellijIdea 2016.2 : At least one JAR was scanned for TLDs yet contained no TLDs

eclipse - 我需要 JDK 才能与 Eclipse Helios 和 Tomcat 7.0.33 一起使用吗?

Java 泛型 : Bound mismatch: The type is not a valid substitute for the bounded parameter of the type

java - jaxb2-maven-plugin 与 JUnit4 的集成

java - Spring 启动 tomcat-embed-core-9.0.21.jar : zip file is empty