当前位置: 首页 > 知识库问答 >
问题:

带有OSGI和非OSGI项目的Maven

王棋
2023-03-14

我们面临的最大问题是,我们无法找出如何构造项目C,以使其在项目A和B中都能正常工作。在项目A中,我们希望maven能像往常一样工作,并根据需要降低依赖项。但我们也希望在项目B(也许结合Nexus+Tycho??)中实现该功能。

我们应该如何解决这个问题。我还没有找到一个好的解决办法如何做这件事。我已经在maven中尝试了apache felix捆绑插件,但不能让它像我想要的那样工作。这是正确的解决办法吗?

共有1个答案

赵俊侠
2023-03-14

我认为您最好的选择是使用Nexus P2存储库插件。

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

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

 类似资料:
  • 问题内容: 是否可以在OSGi应用程序中使用非osgi库? 例如,我正在开发一个基于语义的搜索引擎,并且正在为其使用第三方自然语言处理库(http://wiki.opencog.org/w/RelEx_Dependency_Relationship_Extractor)。 是否可以在OSGi应用程序中连接不支持OSGi(作为几个jar文件)的库? 问题答案: 如先前答案中所写,如果要在包中使用其他

  • 问题内容: 我做了一个maven-osgi项目,其中激活程序应该发送一个osgi事件,但是由于某种原因EventAdmin始终为null。 这是我的java课 这是我的pom.xml: EventAdmin为空的原因可能是什么? 问题答案: 您已经在OSGi中实现了经典的反模式:您假设在捆绑包启动时EventAdmin服务将已经可用。这本质上是不安全的假设,因为您的捆绑包实际上可能在提供Event

  • 我是OSGi的新手,很难将包包含到我的Maven项目中。 我使用mave-bundle-plugin创建了一个API包和一个实现包。在我的主要项目(一个Maven项目)中,我试图使用Felix框架从ServiceTracker获得已实现包的服务。当我最终尝试将获得的服务强制转换为正确的类型时,我会收到一个ClassCastException。 Maven使用以下清单文件创建了两个jar文件: 在我

  • OSGi 技术是面向 Java 的动态模型系统。OSGi 服务平台向Java提供服务,这些服务使Java成为软件集成和软件开发的首选环境。 Java提供在多个平台支持产品的可移植性。OSGi技术提供允许应用程序使用精炼、可重用和可协作的组件构建的标准化原语。 这些组件能够组装进一个应用和部署中。 OSGi服务平台提供在多种网络设备上无需重启的动态改变构造的功能。 为了最小化耦合度和促使这些耦合度可

  • 我创建了一个依赖于SLF4J的捆绑包,因此使用Logback来实现OSGI。这一切都捆绑起来并安装正常,但是当我开始捆绑时,我得到以下异常: org.osgi.framework.BundleException: 無法解析 com.felix.test [20](R 20.0): missing requirements [com.felix.test [20](R 20.0)] osgi.wir