簡體   English   中英

Maven訪問bitbucket上的私有存儲庫

[英]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>

看看http://synergian.github.io/wagon-git/bitbucket.html

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM