如何解决您可以引用由Tycho通过groupId,artifactId和版本解析的OSGi依赖项吗?
在Tycho构建中,通常在相应模块的MANIFEST.MF中指定Osgi依赖项(例如Eclipse插件)。据我了解,Tycho会识别这些依赖关系,并在构建时解析它们,并adds them to the maven build model(对后退机器链接很抱歉; Tycho站点目前似乎在进行一些更改)。
是否可以在其他Maven插件中引用这种派生的依赖关系?例如,如果我想用maven-dependency-plugin复制特定的依赖项,我将如何知道我必须提供哪个groupId,artifactId和版本?
解决方法
Tycho有自己的依赖关系解析机制,与Maven的依赖解析机制不同。 Tycho从p2存储库而不是从Maven存储库(至少通常是*)加载清单中定义的依赖项。 Maven工件和p2捆绑包具有不同的元数据结构,因此您无法始终将它们相互映射。例如,捆绑商品没有组/工件ID的概念。
常规Maven插件只能处理常规Maven依赖项。 p2工件对他们不可见。
根据要实现的目标,您可以尝试先将p2捆绑包转换为Maven依赖项,然后再使用Maven插件对其进行处理。对于您的特定示例,如果您不介意将构建分为多个步骤,这可能会有所帮助:Use dependencies from Eclipse p2 repository in a regular Maven build?
*您可以使用pomDependencies=consider
配置Tycho,以包括Maven工件。这些对于常规的Maven插件是可见的,但是我不建议您这样做,因为它会使构建越复杂,构建/部署就越困难
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。