企業ファイアウォールの後ろから新しいJBoss Mavenリポジトリを使用するにはどうすればよいですか?
質問
私は依存しています 冬眠 3.5.3新しいものからのみ利用可能なもの JBoss Mavenリポジトリ でホストされています Sonatype's ネクサス すべてのURLはHTTPSで固定されています。
Webブラウザーを介して、コーポレートファイアウォールの後ろからこのリポジトリにアクセスできます。しかし、Mavenはアーティファクトを解決することができません。
ビルドの開始時に次の警告が表示されます。
[WARNING] Unable to get resource 'org.hibernate:hibernate-core:pom:3.5.3-Final' from repository jboss.org (https://repository.jboss.org/nexus/content/repositories/releases): Error transferring file: repository.jboss.org
以下を追加すると、Global Settings.xmlのセクションが私のためにトリックを実行するはずです。
<proxy>
<id>http.proxy</id>
<active>true</active>
<protocol>http</protocol>
<username>me</username>
<password>private</password>
<host>proxy.somecompany.com</password>
<port>80</port>
<nonProxyHosts>*.somecompany.com</nonProxyHosts>
</proxy>
<proxy>
<id>https.proxy</id>
<active>true</active>
<protocol>https</protocol>
<username>me</username>
<password>private</password>
<host>proxy.somecompany.com</password>
<port>80</port> <!-- tried 443 too -->
<nonProxyHosts>*.somecompany.com</nonProxyHosts>
</proxy>
しかし、それは私にとってはうまくいきません。
私のpom.xmlでは、次のリポジトリ依存関係を宣言しています。
<repository>
<id>jboss.org</id>
<name>JBoss Repository</name>
<url>https://repository.jboss.org/nexus/content/repositories/releases</url>
</repository>
私はMaven 2.0.8を使用することに制限されていますが、チェックしていますが、Maven 2.2.1でも動作しません。
解決
これは、最近のMavenバージョンで修正されました(3.0-Alphaの始まり、正確な問題#を覚えていません)。 3.0.3-Snapshotで動作します
他のヒント
それは本当にあなたの会社が彼らのファイアウォールをセットアップするためにしたことに帰着するでしょう。ファイアウォールがNTLMV2認証を必要とする場合、Mavenはそれだけではそれを行いません(すぐに機能するはずですが、運がないV3アルファを試しました)。
それはあなたが探している理想的なソリューションではないかもしれませんが、この種のことの最良のケースはインストールすることであることがわかりました cntlm ファイアウォール内のローカルリポジトリプロキシ( Sonatype nexus, JFrogの人工物, 、 また Apache Archiva.
CNTLM Just Plain Works(TM)。インストールして遊ぶのに約15分かかりましたが、それ以来考える必要はありませんでした。
私はArtifactoryとNexusを使用しましたが、どちらもかなり匹敵します。人気のあるMavenサイトのほとんどがプリロードされているので、Artifactoryにはそれをあまりいじる必要がないかもしれないことを読んだことがあります。 (私は間違いなくNexusにいくつかのサードパーティのリポジトリを追加する必要がありました)。それらの良い比較を得ることができます ここ.
このソリューションの追加の利点は、ビルドが大幅に速くなることです(そして、あなたのチームはあなたに感謝します)。
NTLMが問題であり、プロジェクトにEclipseを使用している場合は、次のパラメーターでEclipseを開始することを試みることができます。プロキシのためにEclipse Updateサイトにアクセスするのに問題があるときにこれを一度試しました。
-Dorg.eclipse.ecf.provider.filetransfer.excludeContributors=org.eclipse.ecf.provider.filetransfer.httpclient
-Dhttp.proxyPort=8080
-Dhttp.proxyHost=<Proxy Host Name>
-Dhttp.proxyUser=<>
-Dhttp.proxyPassword=<>
-Dhttp.nonProxyHosts=localhost
ソース : http://wiki.eclipse.org/ecf_filetransfer_support_for_ntlmv2_proxies
ちょっとマシューズ、私はあなたがブラウザを使用してここに投稿したJBossリポジトリURLを押しようとしていただけで、それは私に空白のページを投げました。 JBOSSリポジトリのグーグルが少しでもこのURLがくれました。
http://repository.jboss.org/maven2/
これはあなたの問題を解決するはずだと思います。それは間違ったリポジトリURLの問題です。
さらに追加するために、リポジトリには3.5.3ではなく、Coreバージョン3.5.1が冬眠しています。これは問題ではないはずです。