You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@felix.apache.org by "Coletta Giacomo, IT" <gi...@prysmian.com> on 2010/07/01 15:16:14 UTC

Loading features to karaf using the file:C:/etc/etc URL mechanism

Hi,

I'm trying to integrate my OSGI application with Karaf 1.6.0 (windows xp environment) and tryng to find a way to create a custom distribution.
I don't use Maven.
I was able to succesfully use the features mechanism putting my features.xml file in the deploy directory. In the features.xml file bundles are retrieved using relative file:./xxx/yyy  paths. In this way features are automatically installed.

Then i tried putting the features.xml file in a different folder and to add a features repository in org.apache.felix.karaf.features.cfg, here is how the addition loooks:

featuresRepositories=mvn:org.apache.felix.karaf/apache-felix-karaf/1.6.0/xml/features,file:./base/features

or

featuresRepositories=mvn:org.apache.felix.karaf/apache-felix-karaf/1.6.0/xml/features,file:C:/DEV/karaf/base/features

And all possible variations( file:///C:/, file:///C|/ etc.)

When the file path seem to be correct i get the following exception:

14:34:51,203 | WARN  | rint Extender: 3 | FeaturesServiceImpl              | res.internal.FeaturesServiceImpl  654 | 23 - org.apache.felix.karaf.features.core - 1.6.0 | Unable to add features repository file:./base/features at startup
java.io.IOException
	at org.apache.felix.karaf.features.internal.RepositoryImpl.load(RepositoryImpl.java:164)
	at org.apache.felix.karaf.features.internal.FeaturesServiceImpl.internalAddRepository(FeaturesServiceImpl.java:172)
	at org.apache.felix.karaf.features.internal.FeaturesServiceImpl.start(FeaturesServiceImpl.java:652)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:597)
	at org.apache.aries.blueprint.utils.ReflectionUtils.invoke(ReflectionUtils.java:230)
	at org.apache.aries.blueprint.container.BeanRecipe.invoke(BeanRecipe.java:803)
	at org.apache.aries.blueprint.container.BeanRecipe.runBeanProcInit(BeanRecipe.java:580)
	at org.apache.aries.blueprint.container.BeanRecipe.internalCreate(BeanRecipe.java:693)
	at org.apache.aries.blueprint.di.AbstractRecipe.create(AbstractRecipe.java:64)
	at org.apache.aries.blueprint.container.BlueprintRepository.createInstances(BlueprintRepository.java:219)
	at org.apache.aries.blueprint.container.BlueprintRepository.createAll(BlueprintRepository.java:147)
	at org.apache.aries.blueprint.container.BlueprintContainerImpl.instantiateEagerComponents(BlueprintContainerImpl.java:624)
	at org.apache.aries.blueprint.container.BlueprintContainerImpl.doRun(BlueprintContainerImpl.java:315)
	at org.apache.aries.blueprint.container.BlueprintContainerImpl.run(BlueprintContainerImpl.java:213)
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
	at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
	at java.util.concurrent.FutureTask.run(FutureTask.java:138)
	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:98)
	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:207)
	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
	at java.lang.Thread.run(Thread.java:619)
Caused by: org.xml.sax.SAXParseException: Content is not allowed in prolog.
	at com.sun.org.apache.xerces.internal.parsers.DOMParser.parse(DOMParser.java:239)
	at com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderImpl.parse(DocumentBuilderImpl.java:283)
	at javax.xml.parsers.DocumentBuilder.parse(DocumentBuilder.java:124)
	at org.apache.felix.karaf.features.internal.RepositoryImpl.load(RepositoryImpl.java:93)
	... 24 more

It seem like if the file path is correct but there is something wrong with the file. The fact is that the file is exactly the same that was before succesfully loaded by putting it in the deploy folder (tried several times).

Does anybody succesfully loaded features adding a local features repository using the file: mechanism ? The Karaf manual says it is possible.

Many thanks for any help 

Giacomo Coletta


Re: Loading features to karaf using the file:C:/etc/etc URL mechanism

Posted by Guillaume Nodet <gn...@gmail.com>.
Could you post your karaf related questions to the karaf mailing list please ?
It has been set up recently, but i'd appreciate if you could use those.
See
   http://karaf.apache.org/mailing-lists.html

On Thu, Jul 1, 2010 at 15:16, Coletta Giacomo, IT
<gi...@prysmian.com> wrote:
> Hi,
>
> I'm trying to integrate my OSGI application with Karaf 1.6.0 (windows xp environment) and tryng to find a way to create a custom distribution.
> I don't use Maven.
> I was able to succesfully use the features mechanism putting my features.xml file in the deploy directory. In the features.xml file bundles are retrieved using relative file:./xxx/yyy  paths. In this way features are automatically installed.
>
> Then i tried putting the features.xml file in a different folder and to add a features repository in org.apache.felix.karaf.features.cfg, here is how the addition loooks:
>
> featuresRepositories=mvn:org.apache.felix.karaf/apache-felix-karaf/1.6.0/xml/features,file:./base/features
>
> or
>
> featuresRepositories=mvn:org.apache.felix.karaf/apache-felix-karaf/1.6.0/xml/features,file:C:/DEV/karaf/base/features
>
> And all possible variations( file:///C:/, file:///C|/ etc.)
>
> When the file path seem to be correct i get the following exception:
>
> 14:34:51,203 | WARN  | rint Extender: 3 | FeaturesServiceImpl              | res.internal.FeaturesServiceImpl  654 | 23 - org.apache.felix.karaf.features.core - 1.6.0 | Unable to add features repository file:./base/features at startup
> java.io.IOException
>        at org.apache.felix.karaf.features.internal.RepositoryImpl.load(RepositoryImpl.java:164)
>        at org.apache.felix.karaf.features.internal.FeaturesServiceImpl.internalAddRepository(FeaturesServiceImpl.java:172)
>        at org.apache.felix.karaf.features.internal.FeaturesServiceImpl.start(FeaturesServiceImpl.java:652)
>        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>        at java.lang.reflect.Method.invoke(Method.java:597)
>        at org.apache.aries.blueprint.utils.ReflectionUtils.invoke(ReflectionUtils.java:230)
>        at org.apache.aries.blueprint.container.BeanRecipe.invoke(BeanRecipe.java:803)
>        at org.apache.aries.blueprint.container.BeanRecipe.runBeanProcInit(BeanRecipe.java:580)
>        at org.apache.aries.blueprint.container.BeanRecipe.internalCreate(BeanRecipe.java:693)
>        at org.apache.aries.blueprint.di.AbstractRecipe.create(AbstractRecipe.java:64)
>        at org.apache.aries.blueprint.container.BlueprintRepository.createInstances(BlueprintRepository.java:219)
>        at org.apache.aries.blueprint.container.BlueprintRepository.createAll(BlueprintRepository.java:147)
>        at org.apache.aries.blueprint.container.BlueprintContainerImpl.instantiateEagerComponents(BlueprintContainerImpl.java:624)
>        at org.apache.aries.blueprint.container.BlueprintContainerImpl.doRun(BlueprintContainerImpl.java:315)
>        at org.apache.aries.blueprint.container.BlueprintContainerImpl.run(BlueprintContainerImpl.java:213)
>        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
>        at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
>        at java.util.concurrent.FutureTask.run(FutureTask.java:138)
>        at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:98)
>        at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:207)
>        at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
>        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
>        at java.lang.Thread.run(Thread.java:619)
> Caused by: org.xml.sax.SAXParseException: Content is not allowed in prolog.
>        at com.sun.org.apache.xerces.internal.parsers.DOMParser.parse(DOMParser.java:239)
>        at com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderImpl.parse(DocumentBuilderImpl.java:283)
>        at javax.xml.parsers.DocumentBuilder.parse(DocumentBuilder.java:124)
>        at org.apache.felix.karaf.features.internal.RepositoryImpl.load(RepositoryImpl.java:93)
>        ... 24 more
>
> It seem like if the file path is correct but there is something wrong with the file. The fact is that the file is exactly the same that was before succesfully loaded by putting it in the deploy folder (tried several times).
>
> Does anybody succesfully loaded features adding a local features repository using the file: mechanism ? The Karaf manual says it is possible.
>
> Many thanks for any help
>
> Giacomo Coletta
>
>



-- 
Cheers,
Guillaume Nodet
------------------------
Blog: http://gnodet.blogspot.com/
------------------------
Open Source SOA
http://fusesource.com

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@felix.apache.org
For additional commands, e-mail: users-help@felix.apache.org