If you want to make sure it only ever checks the system repository then you 
could try forcing Pax-URL to treat it as the local Maven repository:

        
org.ops4j.pax.url.mvn.localRepository=file:${karaf.home}/${karaf.default.repository}

I’ve also found that it helps to comment out the following line, otherwise it 
always adds the default Maven repository under “.m2/repository":

        #org.ops4j.pax.url.mvn.defaultLocalRepoAsRemote=false

this seems to be because Pax-URL only checks for the existence of that setting 
and assumes any value is true:

        
https://github.com/ops4j/org.ops4j.pax.url/blob/master/pax-url-aether/src/main/java/org/ops4j/pax/url/mvn/internal/config/MavenConfigurationImpl.java#L272

If you want to make sure it avoids any local Maven settings then you could try 
using a dummy settings.xml file:

        
org.ops4j.pax.url.mvn.settings=${karaf.home}/${karaf.default.repository}/settings.xml
                   # where settings.xml is added under assembly/system by your 
build and just contains <settings/>
        org.ops4j.pax.url.mvn.proxySupport=false

and if you know that you have everything installed and want to lock things down 
further then you could also remove the default remote repositories:

        
org.ops4j.pax.url.mvn.repositories=file:${karaf.home}/${karaf.default.repository}@id=system.repository

just make sure you have all the features you want pre-installed in the system 
repository listed under <installFeatures>  :)

On 21 Jul 2014, at 15:57, jkraushaar <[email protected]> wrote:

> Hi,
> 
> I observed the following behavior of Karaf: When our Karaf custom
> distribution is installed on a system which has no ~/.m2 directory yet, it
> creates the directory and puts the contents of KARAF_HOME/system there.
> These bundles are then installed.
> 
> Now, if I install a newer version of our distribution, which references
> bundles with the same version number (e.g. 1.0.0-SNAPSHOT), the bundles in
> KARAF_HOME/system are ignored and instead the ones from ~/.m2 are installed,
> even if the bundles from system are newer (which is kind of annoying).
> 
> I found bug ticket https://issues.apache.org/jira/browse/KARAF-2990 and
> already tried the new org.ops4j.pax.url.mvn.cfg from 3.0.2, but the problem
> still exist.
> 
> Is there a way to tell Karaf to always use the bundles from
> KARAF_HOME/system?
> 
> Thanks and regards
> Jochen
> 
> 
> 
> --
> View this message in context: 
> http://karaf.922171.n3.nabble.com/Karaf-ignores-Bundles-in-KARAF-HOME-system-tp4034337.html
> Sent from the Karaf - User mailing list archive at Nabble.com.

Reply via email to