Can you check if you don't have empty <repository/> in your features
repository XML ?

Regards
JB

On Sun, Apr 5, 2026 at 6:22 PM Matthias Leinweber <
[email protected]> wrote:

> Hi JB,
>
> Is there a workaround for me?
>
> Br
> Matthias
>
> Jean-Baptiste Onofré <[email protected]> schrieb am So., 5. Apr. 2026,
> 17:25:
>
>> Hi,
>>
>> I have created a pull request to address the exception encountered when a
>> features repository contains an empty repo:
>> https://github.com/apache/karaf/pull/2515
>>
>> This should resolve the issue you reported.
>>
>> Regards,
>> JB
>>
>> On Thu, Apr 2, 2026 at 5:26 PM Jean-Baptiste Onofré <[email protected]>
>> wrote:
>>
>>> Thanks, let me investigate.
>>>
>>> I will keep you posted.
>>>
>>> Regards
>>> JB
>>>
>>> On Wed, Apr 1, 2026 at 5:48 PM Matthias Leinweber
>>> <[email protected]> wrote:
>>> >
>>> > Sure
>>> >
>>> > <?xml version="1.0" encoding="UTF-8"?>
>>> >
>>> > <project xmlns="http://maven.apache.org/POM/4.0.0"; xmlns:xsi="
>>> http://www.w3.org/2001/XMLSchema-instance"; xsi:schemaLocation="
>>> http://maven.apache.org/POM/4.0.0
>>> http://maven.apache.org/xsd/maven-4.0.0.xsd";>
>>> >
>>> >   <artifactId>rahla</artifactId>
>>> >
>>> >
>>> >   <groupId>rahla.assembly</groupId>
>>> >   <modelVersion>4.0.0</modelVersion>
>>> >
>>> >   <name>Rahla Assembly</name>
>>> >
>>> >   <packaging>karaf-assembly</packaging>
>>> >
>>> >
>>> >   <parent>
>>> >     <artifactId>reactor</artifactId>
>>> >     <groupId>rahla</groupId>
>>> >     <relativePath>../pom.xml</relativePath>
>>> >     <version>1.3.1-SNAPSHOT</version>
>>> >   </parent>
>>> >
>>> >   <dependencies>
>>> >     <dependency>
>>> >       <groupId>org.apache.karaf.features</groupId>
>>> >       <artifactId>framework</artifactId>
>>> >       <type>kar</type>
>>> >       <scope>compile</scope>
>>> >     </dependency>
>>> >
>>> >     <dependency>
>>> >       <groupId>org.apache.karaf.features</groupId>
>>> >       <artifactId>framework</artifactId>
>>> >       <classifier>features</classifier>
>>> >       <type>xml</type>
>>> >       <scope>runtime</scope>
>>> >     </dependency>
>>> >
>>> >     <dependency>
>>> >       <groupId>org.apache.karaf.features</groupId>
>>> >       <artifactId>standard</artifactId>
>>> >       <classifier>features</classifier>
>>> >       <type>xml</type>
>>> >       <scope>runtime</scope>
>>> >     </dependency>
>>> >
>>> >     <dependency>
>>> >       <groupId>org.apache.karaf.features</groupId>
>>> >       <artifactId>spring-legacy</artifactId>
>>> >       <classifier>features</classifier>
>>> >       <type>xml</type>
>>> >       <scope>runtime</scope>
>>> >     </dependency>
>>> >
>>> >     <dependency>
>>> >       <groupId>org.apache.karaf.features</groupId>
>>> >       <artifactId>enterprise</artifactId>
>>> >       <classifier>features</classifier>
>>> >       <type>xml</type>
>>> >       <scope>runtime</scope>
>>> >     </dependency>
>>> >
>>> >     <dependency>
>>> >       <artifactId>apache-camel</artifactId>
>>> >       <classifier>features</classifier>
>>> >       <groupId>org.apache.camel.karaf</groupId>
>>> >       <scope>runtime</scope>
>>> >       <type>xml</type>
>>> >     </dependency>
>>> >
>>> >     <dependency>
>>> >       <groupId>org.apache.karaf.features</groupId>
>>> >       <artifactId>specs</artifactId>
>>> >       <classifier>features</classifier>
>>> >       <type>xml</type>
>>> >       <scope>runtime</scope>
>>> >     </dependency>
>>> >
>>> >     <dependency>
>>> >       <artifactId>rahla</artifactId>
>>> >       <classifier>features</classifier>
>>> >       <groupId>rahla.feature</groupId>
>>> >       <scope>runtime</scope>
>>> >       <type>xml</type>
>>> >     </dependency>
>>> >
>>> >     <dependency>
>>> >       <artifactId>fradi</artifactId>
>>> >       <classifier>features</classifier>
>>> >       <groupId>rahla.feature</groupId>
>>> >       <scope>runtime</scope>
>>> >       <type>xml</type>
>>> >     </dependency>
>>> >
>>> >     <dependency>
>>> >       <artifactId>graphsource</artifactId>
>>> >       <classifier>features</classifier>
>>> >       <groupId>rahla.feature</groupId>
>>> >       <scope>runtime</scope>
>>> >       <type>xml</type>
>>> >     </dependency>
>>> >
>>> >     <dependency>
>>> >       <artifactId>jedissource</artifactId>
>>> >       <classifier>features</classifier>
>>> >       <groupId>rahla.feature</groupId>
>>> >       <scope>runtime</scope>
>>> >       <type>xml</type>
>>> >     </dependency>
>>> >     <dependency>
>>> >       <artifactId>camel-route-templates</artifactId>
>>> >       <classifier>features</classifier>
>>> >       <groupId>rahla.feature</groupId>
>>> >       <scope>runtime</scope>
>>> >       <type>xml</type>
>>> >     </dependency>
>>> >     <dependency>
>>> >       <artifactId>rahla-logging</artifactId>
>>> >       <classifier>features</classifier>
>>> >       <groupId>rahla.feature</groupId>
>>> >       <scope>compile</scope>
>>> >       <type>xml</type>
>>> >     </dependency>
>>> >
>>> >   </dependencies>
>>> >
>>> >
>>> >   <build>
>>> >     <plugins>
>>> >       <plugin>
>>> >         <artifactId>maven-install-plugin</artifactId>
>>> >         <configuration>
>>> >           <skip>true</skip>
>>> >         </configuration>
>>> >         <groupId>org.apache.maven.plugins</groupId>
>>> >       </plugin>
>>> >       <plugin>
>>> >         <groupId>org.apache.maven.plugins</groupId>
>>> >         <artifactId>maven-deploy-plugin</artifactId>
>>> >         <configuration>
>>> >           <skip>true</skip>
>>> >         </configuration>
>>> >       </plugin>
>>> >       <plugin>
>>> >         <artifactId>karaf-maven-plugin</artifactId>
>>> >         <configuration>
>>> >           <archiveTarGz>false</archiveTarGz>
>>> >           <archiveZip>false</archiveZip>
>>> >           <startupFeatures>
>>> >             <feature>rahla-logging</feature>
>>> >             <feature>wrap</feature>
>>> >           </startupFeatures>
>>> >           <bootFeatures>
>>> >             <feature>standard</feature>
>>> >             <feature>scr</feature>
>>> >             <feature>spifly</feature>
>>> >             <feature>pax-web-http-undertow</feature>
>>> >             <feature>jolokia</feature>
>>> >             <feature>rahla</feature>
>>> >           </bootFeatures>
>>> >           <installedFeatures>
>>> >             <feature>fradi</feature>
>>> >             <feature>graphsource</feature>
>>> >             <feature>jedissource</feature>
>>> >             <feature>camel-route-templates</feature>
>>> >           </installedFeatures>
>>> >           <libraries>
>>> >
>>>  
>>> <library>mvn:io.prometheus.jmx/jmx_prometheus_javaagent/${jmx_exporter.version}</library>
>>> >
>>>  
>>> <library>mvn:io.opentelemetry.javaagent/opentelemetry-javaagent/${opentelemetry_agent.version}</library>
>>> >           </libraries>
>>> >           <blacklistedBundles>
>>> >             <bundle>mvn:org.apache.groovy/groovy/[4,5)</bundle>
>>> >
>>>  <bundle>mvn:com.fasterxml.woodstox/woodstox-core/7.0.0</bundle>
>>> >             <bundle>mvn:io.undertow/undertow-core/2.2.37.Final</bundle>
>>> >
>>>  <bundle>mvn:io.undertow/undertow-servlet/2.2.37.Final</bundle>
>>> >
>>>  <!--<bundle>mvn:org.codehaus.woodstox/stax2-api/4.2.1</bundle>
>>> >
>>>  <bundle>mvn:org.codehaus.woodstox/woodstox-core-asl/4.4.1</bundle>
>>> >             <bundle>mvn:org.yaml/snakeyaml/1.30</bundle>-->
>>> >           </blacklistedBundles>
>>> >           <javase>17</javase>
>>> >         </configuration>
>>> >         <groupId>org.apache.karaf.tooling</groupId>
>>> >       </plugin>
>>> >     </plugins>
>>> >     <resources>
>>> >       <resource>
>>> >         <directory>src/main/resources</directory>
>>> >         <filtering>false</filtering>
>>> >         <includes>
>>> >           <include>**/*</include>
>>> >         </includes>
>>> >       </resource>
>>> >       <resource>
>>> >         <directory>src/main/filtered-resources</directory>
>>> >         <filtering>true</filtering>
>>> >         <includes>
>>> >           <include>**/*</include>
>>> >         </includes>
>>> >       </resource>
>>> >     </resources>
>>> >   </build>
>>> > </project>
>>> >
>>> >
>>> >
>>> > Am Mi., 1. Apr. 2026 um 15:22 Uhr schrieb Jean-Baptiste Onofré <
>>> [email protected]>:
>>> >>
>>> >> Hi Matthias
>>> >>
>>> >> I suspect it's related to a change I did on the karaf-maven-plugin
>>> (around assembly).
>>> >>
>>> >> Can you share with me the pom.xml to reproduce it ?
>>> >>
>>> >> Thanks,
>>> >>
>>> >> Regards
>>> >> JB
>>> >>
>>> >> On Tue, Mar 31, 2026 at 6:46 PM Matthias Leinweber <
>>> [email protected]> wrote:
>>> >>>
>>> >>> Dear Karaf Users,
>>> >>>
>>> >>> I am currently maintaining a Karaf assembly and am in the process of
>>> upgrading to version 4.4.10. However, I am encountering an error message
>>> during startup and would appreciate guidance on how to begin debugging this
>>> issue
>>> >>>
>>> >>> java.lang.RuntimeException: Repository spec is empty string. :
>>> mvn:org.apache.karaf.features/standard/4.4.10/xml/features
>>> >>> at
>>> org.apache.karaf.features.internal.service.RepositoryImpl.load(RepositoryImpl.java:121)
>>> >>> at
>>> org.apache.karaf.features.internal.service.RepositoryImpl.<init>(RepositoryImpl.java:51)
>>> >>> at
>>> org.apache.karaf.features.internal.service.RepositoryCacheImpl.create(RepositoryCacheImpl.java:51)
>>> >>> at
>>> org.apache.karaf.features.internal.service.FeaturesServiceImpl.addRepository(FeaturesServiceImpl.java:386)
>>> >>> at
>>> org.apache.karaf.features.internal.service.FeaturesServiceImpl.addRepository(FeaturesServiceImpl.java:381)
>>> >>> at
>>> org.apache.karaf.features.internal.service.BootFeaturesInstaller.addRepositories(BootFeaturesInstaller.java:136)
>>> >>> at
>>> org.apache.karaf.features.internal.service.BootFeaturesInstaller.installBootFeatures(BootFeaturesInstaller.java:95)
>>> >>> at
>>> org.apache.karaf.features.internal.service.BootFeaturesInstaller.start(BootFeaturesInstaller.java:89)
>>> >>> at
>>> org.apache.karaf.features.internal.osgi.Activator.doStart(Activator.java:215)
>>> >>> at
>>> org.apache.karaf.util.tracker.BaseActivator.run(BaseActivator.java:312)
>>> >>> at
>>> java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:572)
>>> >>> at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:317)
>>> >>> at
>>> java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144)
>>> >>> at
>>> java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642)
>>> >>> at java.base/java.lang.Thread.run(Thread.java:1583)
>>> >>> Caused by: shaded.org.ops4j.lang.NullArgumentException: Repository
>>> spec is empty string.
>>> >>> at
>>> shaded.org.ops4j.lang.NullArgumentException.validateNotEmpty(NullArgumentException.java:108)
>>> >>> at
>>> org.ops4j.pax.url.mvn.internal.config.MavenRepositoryURL.<init>(MavenRepositoryURL.java:221)
>>> >>> at
>>> org.ops4j.pax.url.mvn.internal.config.MavenConfigurationImpl.getRepositories(MavenConfigurationImpl.java:401)
>>> >>> at
>>> org.ops4j.pax.url.mvn.internal.AetherBasedResolver.selectRemoteRepositories(AetherBasedResolver.java:928)
>>> >>> at
>>> org.ops4j.pax.url.mvn.internal.AetherBasedResolver.resolve(AetherBasedResolver.java:368)
>>> >>> at
>>> org.ops4j.pax.url.mvn.internal.AetherBasedResolver.resolve(AetherBasedResolver.java:352)
>>> >>> at
>>> org.ops4j.pax.url.mvn.internal.AetherBasedResolver.resolve(AetherBasedResolver.java:322)
>>> >>> at
>>> org.ops4j.pax.url.mvn.internal.AetherBasedResolver.resolve(AetherBasedResolver.java:312)
>>> >>> at
>>> org.ops4j.pax.url.mvn.internal.Connection.getInputStream(Connection.java:120)
>>> >>> at java.base/java.net.URL.openStream(URL.java:1325)
>>> >>> at
>>> org.apache.karaf.features.internal.service.RepositoryImpl.load(RepositoryImpl.java:114)
>>> >>> ... 14 more
>>> >>>
>>> >>>
>>> >>> Could you please advise on the best approach or specific logs I
>>> should examine to identify the root cause? I get this erorr for every
>>> feature defined in my karaf-assembly
>>> >>>
>>> >>> Best regards,
>>> >>>
>>> >>> Matthias Leinweber
>>> >>>
>>>
>>

Reply via email to