proxy環境下で scpを使って site-deploy出来ないときの対応
maven-site-pluginに報告あり : MSITE-211
で、このエントリは 現象としては mvn site-deploy すると ProxyHTTPうんぬんエラーになる という件に対する対応方法です。
エラーの断片
[INFO] ------------------------------------------------------------------------ [ERROR] BUILD ERROR [INFO] ------------------------------------------------------------------------ [INFO] Error uploading site Embedded error: Cannot connect. Reason: ProxyHTTP: java.io.IOException: proxyerror: Forbidden
この現象が発生するには、以下の前提があるようです。
- deploy先のdistributionManagement 設定では scp://... を指定している
- 普段、proxy環境。つまりsettings.xmlに proxyのsettingが書かれている
- 加えて、site-deploy先は nonProxyHostsの対象である
- 利用している maven-site-plugin は 2.0-beta-6 以前のものである
たとえば、社内でmavenを使っている場合で、proxyを使って外のリポジトリにはアクセスしているが、site-deployする先は社内サーバだ、というような場合は上記に該当しやすくなります(私もこうでした)。
上記のMSITE-211でも報告されている通り、maven-site-pluginの 2.0-beta-7-SNAPSHOT で解消しているはず、とのことです。
試してみたらうまくいきました。以下、2.0-beta-7-SNAPSHOTをどうやって使うか、という手順になります。
maven snapshot repositoryを使うようにする
pom.xmlに以下のような行を追加するといいみたいです. . maven-snapshot-repository Maven Snapshot Repository http://people.apache.org/maven-snapshot-repository/ . . maven-snapshot-repository Maven Snapshot Repository http://people.apache.org/maven-snapshot-repository/
repositoriesだけでも pluginRepository だけでもうまくいかなかったので、とりあえずは両方に入れてあります。
maven-site-pluginのバージョンを指定する
pom.xmlを修正します. . org.apache.maven.plugins maven-site-plugin 2.0-beta-7-SNAPSHOT . .
おわり
あとは $ mvn site:deploy してみてください。SNAPSHOTというのもアレだけど、そのうちなんとかならんのかな。