2012-03-29 69 views
13

简单但无法在Google上找到任何可用的代理。我正在运行Karaf,并且我在代理人后面。我需要通过执行以下命令将某些功能添加到容器:如何为Apache Karaf设置代理

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

当我这样做,我得到以下异常:

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. 

这似乎是一个代理认证问题。请注意我已经向Maven添加了代理信息,我可以下载Maven中的依赖关系。我怀疑我需要添加一些信息,如http.proxyName或http.Proxyxxx到Karaf安装的etc目录中的一个文件。

有什么想法吗?

更新: 我发现在这

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

我已经注释掉这一点,但我仍然无法验证org.ops4j.pax.url.mvn.cfg的设置。所以我怀疑我需要在某处设置我的Maven主文件夹。

更新2: 可以很简单的事:

在Apache karaf文件夹中有一个etc文件夹。编辑org.ops4j.pax.url.mvn.cfg文件。您需要执行两个步骤才能工作。

  • 点karaf到Maven安装:找到你的CFG文件org.ops4j.pax.url.mvn.settings以下字符串取消注释,并添加你的Maven主路径即org.ops4j.pax.url.mvn .settings = /maven/conf/settings.xml
  • 告诉karaf使用maven代理设置:在cfg文件org.ops4j.pax.url.mvn.proxySupport中找到以下字符串,取消注释并将其设置为true if需要即ie org.ops4j.pax.url.mvn.proxySupport = true

我重新启动卡拉夫,我现在可以下载/安装功能。我希望这有助于某人。

回答

8

所以,如果你按照我的文章上面,你会看到两个主要步骤让卡拉夫通过代理工作。我不确定是否还有什么更多,所以我愿意听其他答案。但简而言之,编辑org.ops4j.pax.url.mvn.cfg文件以指向您的Maven安装和Maven代理设置。

4

如果本地的Maven实例不可用下面的配置会有所帮助:

Java代理设置,将解决这个问题:

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

在我的情况下,我正在使用Karaf-Wrapper(http://karaf.apache.org/manual/latest-2.3.x/users-guide/wrapper.html)并在etc/KARAF-wrapper.conf中添加了以下设置!

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

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

注意:使用此选项,Web服务也通过代理公开,所以如果您想避免它,一旦达到目的,您将不得不关闭代理。

+1

也许这个问题已经得到解答,但是这个更简单得多,因为我们只需要添加java参数并且不需要安装本地maven。感谢Sanvijaya! – Nereis 2015-11-18 07:36:08