微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

您可以引用由Tycho通过groupId,artifactId和版本解析的OSGi依赖项吗?

如何解决您可以引用由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 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?