Apache Karaf can either use :-

  • the proxy settings in the Maven settings.xml in the specific user’s .m2 directory running the Karaf instance
  • the proxy settings in the global settings.xml in the conf directory of the Maven installation
  • the mvn repository can be changed within Karaf to include a local Maven repository like Sonatype Nexus

To use the settings.xml file, specify the following in the file in the global conf directory or in the user’s .m2 directory.

<host>hostname or ip</host>

The approach that I prefer is to add the Sonatype Nexus public url to the list of repositories that Apache Karaf should use when resolving features. This allows all the developers in a team to utilize the same shared resource for resolving artifacts. Open the ${karaf install folder}\etc\org.ops4j.pax.url.mvn.cfg file and add the url to the org.ops4j.pax.url.mvn.repositories config item.

org.ops4j.pax.url.mvn.repositories= \
http://localhost:9091/nexus/content/groups/public, \
http://repo1.maven.org/maven2@id=central, \
http://repository.apache.org/content/groups/snapshots-group@id=apache@snapshots@noreleases, \
https://oss.sonatype.org/content/repositories/ops4j-snapshots@id=ops4j.sonatype.snapshots.deploy@snapshots@noreleases, \
file:${karaf.home}/${karaf.default.repository}@id=systemrepo, \