![](/img/trans.png)
[英]How to create private Maven Repository (bitbucket) for Android Libraries?
[英]Maven accessing private repository on bitbucket
我正在為我們的項目設置maven存儲庫,這是bitbucket私有存儲庫(在此博客之后 )。
問題是maven 3.1.1無法使用基本身份驗證訪問私有存儲庫。 它使用登錄請求將.pom下載為html。
存儲庫定義:
<repository>
<id>project-maven-repo</id>
<url>https://bitbucket.org/company/maven-repo/raw/master/repository/</url>
</repository>
來自.m2 / settings.xml的身份驗證:
<settings>
<localRepository/>
<interactiveMode/>
<usePluginRegistry/>
<offline/>
<pluginGroups/>
<servers>
<server>
<id>project-maven-repo</id>
<username>bitbucketuser</username>
<password>password</password>
</server>
</servers>
<proxies/>
<activeProfiles/>
<profiles/>
</settings>
使用curl和basic auth訪問資源工作得很好。 當使用curl而沒有登錄/密碼時,它也返回401響應,因此bitbucket端似乎按預期工作。
curl -v -u bitbucketuser:password https://bitbucket.org/company/maven-repo/raw/master/README
我懷疑它與返回的領域有關。
嘗試了很多選項后,唯一有效的方法是手動准備和發送Basic Auth標頭(從此鏈接 )
<settings>
<servers>
<server>
<id>project-maven-repo</id>
<configuration>
<httpHeaders>
<property>
<name>Authorization</name>
<!-- Base64-encoded "bitbucketuser:password" -->
<value>Basic Yml0YnVja2V0dXNlcjpwYXNzd29yZA==</value>
</property>
</httpHeaders>
</configuration>
</server>
</servers>
</settings>
您需要以不同方式定義存儲庫
<repository>
<id>your-repo-id</id>
<name>Your Repo Name</name>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>false</enabled>
</snapshots>
<url>https://api.bitbucket.org/1.0/repositories/yourbitbucketusername/your-bitbucket-repo/raw/your-branch</url>
</repository>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.