ShrinkWrap の Maven Resolver にプロキシ設定を読み込む
テスト依存関係をダウンロードするリゾルバーにプロキシ設定を読み込み、別途 Maven を呼び出す方法に頼らないようにします。
import org.jboss.shrinkwrap.resolver.api.maven.Maven;
import org.jboss.shrinkwrap.resolver.api.maven.MavenResolverSystem;
MavenResolverSystem resolver = Maven.configureResolver()
.fromFile("/path/to/test-settings.xml");
以降の resolve 操作にはこの resolver を使用します。これを構築した後に別のデフォルトリゾルバーを呼び出すと、設定は未使用のオブジェクトに残ります。Arquillian テストは Maven がテストプロセスを開始した後にこのリポジトリセッションを作成できるため、以前のコマンドラインからのダウンロードでは入力が確立されません。
選択したファイルは Maven 設定の構文を使用します。settings 内の最小限のルートは次のとおりです。
<proxies>
<proxy>
<id>test-network</id>
<active>true</active>
<protocol>http</protocol>
<host>proxy.example.net</host>
<port>8080</port>
<nonProxyHosts>localhost|*.internal.example.net</nonProxyHosts>
</proxy>
</proxies>
パス、エンドポイント、意図したバイパスを置き換えます。ホストには URL プレフィックスがありません。このテストリゾルバーが未認証の公開仲介者を介して公開リポジトリに到達できる場合、HTTP プロキシリストが候補のホスト/ポート値を提供します。実際のリポジトリへのアクセスを確認してください。プロキシ認証はサポートされている設定で指定します。リポジトリ/サーバーのアカウントは別のサービスを認証します。
保守されている実装は、設定モデルから有効なプロキシエントリをリポジトリセッションのセレクターに読み込みます。デフォルトではユーザー/グローバル設定の場所も考慮されます。IDE、ビルドエージェント、テストランナーが別のホームディレクトリを持つ場合、明示的なファイルが役立ちます。
設定パス、リポジトリ URL、およびアーティファクトを実際にダウンロードする必要があったかを確認します。ウォーム済みのリポジトリは欠落したルートを隠すことがあります。リゾルバーはデプロイアーティファクトを取得します。テストが使用する HTTP クライアントは別のリクエストを行い、独自の設定を必要とします。HTTP クライアントが JVM プロキシプロパティに従う Maven Surefire テストでは、テスト JVM のプロキシ入力を設定します。