在我的项目中,有一个Karaf功能XML文件,其中包含所有OSGi捆绑软件。现在,它在其他Maven项目的pom.xml
文件中用作依赖项。
<dependency>
<groupId>a.b.c</groupId>
<artifactId>dummyfeature</artifactId>
<type>xml</type>
<classifier>features</classifier>
<version>1.0.0</version>
</dependency>
现在,以下代码正在用于安装上述功能。
KarafDistributionOption.features(
maven()
.groupId("a.b.c")
.artifactId("dummyfeature")
.version("1.0.0")
.type("xml")
.classifier("features"), "dummyfeature")
是否可以通过编程方式从上述功能中排除特定的OSGi包?
答案 0 :(得分:1)
NoSuchElementException
提供了一种更改从XML文件读取的功能的方法。您可以:
有关机制的概述,请参见Using implicit wait in selenium。还没有文档片段(我没有时间做)。但是对于您的特定情况,您应该添加etc/org.apache.karaf.features.xml
文件,并包含以下内容:
<?xml version="1.0" encoding="UTF-8"?>
<!--
Configuration generated by Karaf Assembly Builder
-->
<featuresProcessing xmlns="http://karaf.apache.org/xmlns/features-processing/v1.0.0">
<blacklistedBundles>
<!-- there are several patterns you can use here -->
<bundle>mvn:groupId/artifactId</bundle>
<bundle>mvn:groupId/artifactId/1.0</bundle>
<bundle>mvn:groupId/artifactId/[1,2)</bundle>
</blacklistedBundles>
</featuresProcessing>