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。
我们正在使用 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。