基本認証の背後にあるArtifactoryリポジトリがあります。アクセスを許可するようにsettings.xmlを構成するにはどうすればよいですか?
<mirrors>
<mirror>
<id>artifactory</id>
<mirrorOf>*</mirrorOf>
<url>https://myserver.example.com/artifactory/repo</url>
<name>Artifactory</name>
</mirror>
</mirrors>
<servers>
<!--
This server configuration gives your personal username/password for
artifactory. Note that the server id must match that given in the
mirrors section.
-->
<server>
<id>Artifactory</id>
<username>someArtifactoryUser</username>
<password>someArtifactoryPassword</password>
</server>
したがって、サーバータグはアーティファクトユーザーのユーザー資格情報ですが、基本認証を通過するために別のユーザー/パスワードも提供する必要があります。どこに置けばいいの?!?
ユーザー名とパスワードは、サーバー設定にあります。あなたの問題は、サーバーを名前([〜#〜] a [〜#〜]rtifactory)で指定したことだと思います。そのID(artifactory)。
サーバー設定は、グローバル設定ではなく、ユーザー設定に入れることをお勧めします。 Maven 2.1.0+でパスワードを暗号化することもできます。詳細については、 ミニガイド を参照してください。
更新:どのバージョンのArtifactoryを使用していますか? ディスカッション および対応する 問題 があり、基本認証は失敗します。これは明らかに2.0.7と2.1.0で修正されています。
議論から、 回避策 はコマンドラインを介してプロパティを渡すことであるように思われます。
-Dhttp.proxyHost=proxy -Dhttp.proxyPort=8080 -Dproxy.username=... -Dhttp.password=...
更新:Mavenインストールをファイアウォール経由で接続できるようにするには、settings.xmlのプロキシセクションを構成する必要があります。これを行うためのいくつかの指針については、これを参照してください 質問 。
Update2:server設定で設定できる追加のプロパティがあります。背景については、この blog を参照してください。これをテストする機会はありませんでしたが、ブログおよび関連する http wagon javadoc から、サーバー設定でauthenticationInfoを次のように設定できるようです。
<server>
<id>Artifactory</id>
<username>someArtifactoryUser</username>
<password>someArtifactoryPassword</password>
<configuration>
<authenticationInfo>
<userName>auth-user</userName>
<password>auth-pass</password>
</authenticationInfo>
</configuration>
</server>
次の構成を使用して、HTTP基本認証を有効にすることができました 必要なHTTPヘッダー を手動で記述します。私の状況では、それを使用して、貧乏人のステージングリポジトリとして Go server のビルドアーティファクトにアクセスしました。
<server>
<id>go</id>
<configuration>
<httpHeaders>
<property>
<name>Authorization</name>
<!-- Base64-encoded "guest:guest" -->
<value>Basic Z3Vlc3Q6Z3Vlc3Q=</value>
</property>
</httpHeaders>
</configuration>
</server>
クリアテキストのパスワードで問題を解決するためのヒント: