2013-01-08 82 views
5

我們有一個密碼保護的Maven倉庫。當在控制檯上顯示下載http密碼時:下載maven artifacts時隱藏HTTP密碼

 
Downloading: https://arved:[email protected]/content/groups/arved/org/apache/xbean/xbean-naming/3.7/xbean-naming-3.7.jar 

是否有可能以某種方式隱藏密碼?

+0

以前從未見過。您使用的Maven版本以及哪個Maven存儲庫管理軟件? –

+2

你是如何配置http密碼的? – SpaceTrucker

回答

0

一種方法是將猴子補丁URI :: HTTP。下面的代碼可以改進,但顯示了一般的想法。

# Patch HTTP.to_s so it does not reveal passwords 
module URI 
    class HTTP 
    def to_s 
     url = '' 
     if @scheme 
     url << @scheme 
     url << ':' 
     end 
     if @host 
     url << '//' 
     end 
     if self.userinfo 
     url << @user 
     if @password 
      url << ':***' 
     end 
     url << '@' 
     end 
     if @host 
     url << @host 
     end 
     if @port 
     url << ':' 
     url << @port.to_s 
     end 
     url << path_query 
     if @fragment 
     url << '#' 
     url << @fragment 
     end 
     url 
    end 
    end 
end 
3

您的存儲庫配置(URL)可能是錯誤的,看看這個頁面: http://maven.apache.org/guides/mini/guide-encryption.html(加密是可選的)

所有你需要的是把密碼$ HOME/.m2目錄/設置在的pom.xml的.xml

<settings> 
... 
    <servers> 
... 
    <server> 
     <id>arved-repository</id> 
     <username>arved</username> 
     <password>passw0rd</password> 
    </server> 
... 
    </servers> 
... 
</settings> 

並配置存儲庫使用前定義server.id:

<project> 
... 
    <repositories> 
    <repository> 
     <id>arved-repository</id> 
     <name>Arved Repository</name> 
     <url>https://maven.arved.at/content/groups/arved</url> 
    </repository> 
... 
</project>