2012-03-29 77 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