gpt4 book ai didi

eclipse - 如何使用 Maven 中的 Eclipse p2 存储库?

转载 作者:行者123 更新时间:2023-12-04 00:46:20 27 4
gpt4 key购买 nike

我正在尝试创建一个基于 Eclipse 的设置,其中 Eclipse 项目是基于 Maven 的。因此,无论是否使用 Eclipse,它都应该与 Maven 一起工作。

我依赖于各种 Eclipse 项目库,还有更多需要添加。我想使用 p2 存储库,并且我已经按照以下示例设法提取了一个 Eclipse EMF 库并将其转换为一个 jar:Use dependencies from Eclipse p2 repository in a regular Maven build?

问题是,我找不到简化流程的方法。我需要手动将上面给出的问题中重新打包的依赖项安装到本地 Maven 存储库,以便我可以在其他项目中引用它。我想将 p2 存储库中的 Artifact 无缝集成到我基于 Maven 的设置中。 m4e 看起来不像我正在寻找的顺利解决方案:理想情况下,我想分发一组目录来响应简单的 mvn clean install:从 p2 存储库中提取库,从 Maven 存储库中提取其他库等等。

这是否可以通过 Maven 和 Tycho 集成来实现?

更新:首先,澄清问题:仅能够引用 P2 存储库对需要从另一个项目使用此引用的场景没有帮助。从P2仓库中引用的库必须重新打包成jar,才能被其他Maven项目引用。引用的问题进行包装。但是,它没有解释如何从其他项目中使用这个重新打包的输出(程序集)。在我的例子中,这证明是从聚合 POM 引用程序集,并为所有希望使用具有 P2 存储库来源的库的项目继承该 POM 的形式。

最佳答案

Tycho 项目可以从 p2 存储库和 Maven 存储库中提取它们的依赖项(参见 related answer)。这可能是适合您的解决方案,即使您不是为 OSGi 运行时构建:大多数 OSGi 包也可以作为类路径上的“普通”JAR。

限制:从 Maven 存储库引用的 Artifact 也必须是 OSGi 包,以便 Tycho 将它们视为依赖项解析。如果不是这种情况(并且您找不到 OSGi 包的替代品),您可以将 Tycho 的依赖项解析与普通的 Maven 插件结合起来:

  • 使用 Tycho 的一种打包类型(例如 eclipse-feature)并以打包类型的文件格式(例如 feature.xml)指定对 p2 Artifact 的依赖关系>)
  • 另外在您的 POM 中配置普通的 Maven 目标。 Tycho 在运行时将 OSGi/p2 依赖项注入(inject) Maven 模型,因此例如 maven-compiler-plugin:compile 调用将同时看到 Maven 依赖项和 p2 依赖项。

关于eclipse - 如何使用 Maven 中的 Eclipse p2 存储库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12240401/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com