How to setup a proxy for Apache Karaf

13,708

Solution 1

So if you follow my post above you will see the two main steps in getting Karaf to work via a proxy. I am not sure if there is anything more to it so I am willing to listen to other answers. But in short edit the org.ops4j.pax.url.mvn.cfg file to point to your maven install and maven proxy settings.

Solution 2

If a local maven instance is not available the below configurations will help :

Java proxy settings will resolve this issue:

-Dhttp.proxyHost=127.0.0.1 -Dhttp.proxyPort=80

In my case, i am using Karaf-Wrapper(http://karaf.apache.org/manual/latest-2.3.x/users-guide/wrapper.html) and adding the below settings in etc/KARAF-wrapper.conf worked!!

wrapper.java.additional.10=-Dhttp.proxyHost=127.0.0.1

wrapper.java.additional.11=-Dhttp.proxyPort=80

Note: With this option the web services are also exposed via proxy, so if you want to avoid it, once the purpose is achieved you will have to turn off the proxy.

Share:
13,708

Related videos on Youtube

Namphibian
Author by

Namphibian

Supporter of the master control program.

Updated on June 04, 2022

Comments

  • Namphibian
    Namphibian about 2 years

    Simple one but unable to find anything solid on google. I am running Karaf and I am behind a proxy. I need to add some features to the container by executing the following command:

    features:addurl mvn:org.apache.camel.karaf/apache-camel/2.9.0/xml/features
    

    When I do this I get the following exception:

    Could not add Feature Repository:
    java.lang.RuntimeException: URL [mvn:org.apache.camel.karaf/apache-camel/2.9.0/xml/features] could not be resolved.
    

    This appears to be a proxy authentication issue. Please note I have added proxy information to Maven and I can download dependencies in Maven. I suspect I need to add some information like http.proxyName or http.Proxyxxx to one of the files in the etc directory of the Karaf installation.

    Any ideas out there?

    UPDATE: I have found a setting in the org.ops4j.pax.url.mvn.cfg which is

    org.ops4j.pax.url.mvn.proxySupport=true 
    

    I have uncommented this but I still cant authenticate. So I suspect I need to set my maven home folder somewhere.

    UPDATE 2: Ok very simple thing to do:

    In your Apache karaf folder there is a etc folder. Edit the org.ops4j.pax.url.mvn.cfg file. You need to perform two steps for it to work.

    • Point karaf to your maven installation: find the following string in your cfg file org.ops4j.pax.url.mvn.settings uncomment it and add your maven home path i.e. org.ops4j.pax.url.mvn.settings= /maven/conf/settings.xml
    • Tell karaf to use the maven proxy settings: find the following string in your cfg file org.ops4j.pax.url.mvn.proxySupport uncomment it and set it to true if needs be i.e. org.ops4j.pax.url.mvn.proxySupport=true

    I restarted Karaf and I can now download/install features. I hope this helps someone someday.