テストの HTTP リクエスト向け Maven Surefire プロキシ設定
Maven のリポジトリプロキシは、テスト JVM 内の任意の HTTP クライアントを設定しません。テストが行うリクエストを追跡して設定します。
Maven のリポジトリプロキシは、テストが行う HTTP リクエストを設定しなくても依存関係を取得できます。クライアントはテスト JVM 内で設定してください。
そのクライアントが Java の HTTPS プロキシプロパティに従う場合は、次の断片を該当する Surefire プラグインの configuration 要素内に置きます。
<systemPropertyVariables>
<https.proxyHost>proxy.example</https.proxyHost>
<https.proxyPort>8080</https.proxyPort>
</systemPropertyVariables>例のエンドポイントは置き換えてください。公開の中間経由が許可される公開宛先へのテストでは、HTTP プロキシ一覧がホストとポートの候補を提供します。ホストとポートは別々の値です。宛先のスキームとライブラリに合うプロパティ群を選んでください。一方、明示的なプロキシオブジェクトで構築したクライアントには独自の設定インターフェースが必要です。
Surefire は通常、フォークされた JVM でテストを実行します。Maven の起動オプションがすべてそのプロセスに届くわけではありません。起動時に依存するシステムプロキシの検出は、起動時にテスト JVM 側のオプションを必要とします。テストが同じプロセスを共有していても、ライブラリが Java の既定プロキシプロパティを無視することがあります。
内部の直接宛先は適切なバイパス規則で覆い、プロキシ認証は宛先認証と分け、証明書検証は有効のままにしてください。フォークを無効にするとテストの実行方法が変わり、依存関係ミラーを変えるとリポジトリ解決が変わります。どちらも欠けたテストクライアント経路を補いません。すべてのシステムプロパティをコピーすると秘密情報が露出する可能性もあります。
それでも失敗する場合は、テスト JVM、HTTP ライブラリ、対象、選択したプロキシ、最初に失敗した段階を記録してください。これらの観察はテスト設定を指し示し、動作しているリポジトリ取得は理解可能なまま残ります。