我们有一些聚合作业可以根据Apache Karaf功能文件生成适合我们的交付组织的可分发程序
<features name="${project.groupId}/${project.artifactId}/${project.version}" xmlns="http://karaf.apache.org/xmlns/features/v1.4.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://karaf.apache.org/xmlns/features/v1.4.0 http://karaf.apache.org/xmlns/features/v1.4.0">
<feature name="aggregated-bundles" version="${project.version}" start-level="80" install="auto">
<bundle>mvn:local.example.project/service-bundle/1.0.0-SNAPSHOT</bundle>
</feature>
</features>
这些与karafs maven插件工具相结合,产生一个tar.gz包,用于传递给测试或生产装置。
然而,jenkins在常规maven或管道作业中自然不会检测到对karafs特征文件中表示的maven工件的依赖性。最终结果是,当更新包含的包并且功能版本不是(通常是快照的情况)时,聚合作业将不会触发,如果在没有清除工作空间的情况下手动触发,则不会包含更新了SNAPSHOT依赖项的构建。
我如何教jenkins关于我外部指定的maven依赖项?
我已经尝试根据元数据生成一个功能文件,但是被支持使用OSGi来部署同一个人工制品的多个版本,这是maven不喜欢的东西。
答案 0 :(得分:0)
最简单的方法是在功能项目的pom中添加依赖项。这样maven就可以跟踪依赖关系了。