karaf-maven-plugin 可以使用来自反应器的依赖项吗?

Can karaf-maven-plugin use dependencies from the reactor?

我们正在使用 karaf-maven-plugin 在具有多个模块的项目中验证 features.xml。典型的特征定义如下所示:

<?xml version="1.0" encoding="UTF-8"?>
<features name"commons-${project.version}" xmlns="http://karaf.apache.org/xmlns/features/v1.4.0">
    <feature name="commons" version="${project.version}">
        <feature prerequisite="true">wrap</feature>
        <bundle>mvn:org.example/commons/${project.version}</bundle>
    </feature>
</features>

问题是检查是针对本地存储库中的捆绑包进行的,而不是正在构建的捆绑包。事后看来,没有办法使用新的包,因为我们遵循 this example 并且我们将 karaf:verify 目标附加到 process-resources 生命周期阶段。

karaf:verify 目标附加到 install 生命周期阶段是可行的,但是有没有办法让 karaf-maven-plugin 在反应器中查找 mvn: 引用以便它可以运行 用 mvn verify 代替 mvn install?

将其限制在本地存储库也很有用,因为它可以从远程存储库下载依赖项(忽略 --offline Maven 选项)并且 "work" 直到版本更改。

这在 Karaf 4.0 或 4.1 中是不可能的,但在 Karaf 4.2 中已经修复,参见 this JIRA issue and the corresponding commit