No, I am not using blueprint (at least in this context), this is a URL in the 
features.xml file.  I am trying to deploy a default config file as part of my 
feature.  Karaf documentation does not mention all possible URLs it supports.  
It says:

"The file URL is any URL supported by Apache Karaf (see the [Artifacts 
repositories and URLs|urls] of the user guide for details)."

and then:

"However, Karaf provides several URL handlers, in addition to the usual ones 
(file, http, etc…​). One of these is the Maven URL handler, which allow reusing 
maven repositories to point to the bundles.”


So, I thought that "the usual ones" included any of the OPS4J Pax URLs 
described here:

        https://ops4j1.jira.com/wiki/display/paxurl/Classpath+Protocol 
<https://ops4j1.jira.com/wiki/display/paxurl/Classpath+Protocol>

Aren’t OPS4J Pax URL handlers included in the default Karaf distribution?

Best regards,
Alex soto



> On Sep 9, 2016, at 10:16 AM, Jean-Baptiste Onofré <[email protected]> wrote:
> 
> Hi,
> 
> classpath is not a regular URL: AFAIK, classpath: is a specific Spring URL 
> (not a blueprint regular URL).
> 
> Do you use the blueprint spring extender ?
> 
> Regards
> JB
> 
> On 09/09/2016 03:42 PM, Alex Soto wrote:
>> Hello,
>> 
>> I am trying to deploy a config file which is a resource of one of the
>> deployed bundles.  I write the features.xml
>> 
>>    <configfile finalname="${karaf.etc}/my.config.cfg">
>>    classpath://my :: bundle/my.config.cfg
>>    </configfile>
>> 
>> 
>> 
>> When I run integration tests (PAX-EXAM) I get this error:
>> 
>>    Error installing boot features
>>    java.net.MalformedURLException: Unknown protocol: classpath
>>    at java.net.URL.<init>(URL.java:620)[:1.8.0_45]
>>    at java.net.URL.<init>(URL.java:483)[:1.8.0_45]
>>    at java.net.URL.<init>(URL.java:432)[:1.8.0_45]
>>    at 
>> org.apache.karaf.features.internal.service.FeatureConfigInstaller.installConfigurationFile(FeatureConfigInstaller.java:210)[9:org.apache.karaf.features.core:4.0.3]
>>    at 
>> org.apache.karaf.features.internal.service.FeatureConfigInstaller.installFeatureConfigs(FeatureConfigInstaller.java:120)[9:org.apache.karaf.features.core:4.0.3]
>>    at 
>> org.apache.karaf.features.internal.service.FeaturesServiceImpl.installFeature(FeaturesServiceImpl.java:1156)[9:org.apache.karaf.features.core:4.0.3]
>>    at 
>> org.apache.karaf.features.internal.service.Deployer.deploy(Deployer.java:769)[9:org.apache.karaf.features.core:4.0.3]
>>    at 
>> org.apache.karaf.features.internal.service.FeaturesServiceImpl.doProvision(FeaturesServiceImpl.java:1079)[9:org.apache.karaf.features.core:4.0.3]
>>    at 
>> org.apache.karaf.features.internal.service.FeaturesServiceImpl$1.call(FeaturesServiceImpl.java:975)[9:org.apache.karaf.features.core:4.0.3]
>>    at java.util.concurrent.FutureTask.run(FutureTask.java:266)[:1.8.0_45]
>>    at 
>> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)[:1.8.0_45]
>>    at 
>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)[:1.8.0_45]
>>    at java.lang.Thread.run(Thread.java:745)[:1.8.0_45]
>>    Caused by: java.lang.IllegalStateException: Unknown protocol: classpath
>>    at 
>> org.apache.felix.framework.URLHandlersStreamHandlerProxy.parseURL(URLHandlersStreamHandlerProxy.java:373)[org.apache.felix.framework-5.4.0.jar:]
>>    at java.net.URL.<init>(URL.java:615)[:1.8.0_45]
>>    ... 12 more
>> 
>> 
>> Looks it does not recognize the /classpath/ URL handler.  How can make
>> this work?   I would like the cfg files to be in the bundle that uses it.
>> 
>> Best regards,
>> Alex soto
>> 
>> 
>> 
>> 
> 
> -- 
> Jean-Baptiste Onofré
> [email protected]
> http://blog.nanthrax.net
> Talend - http://www.talend.com

Reply via email to