2011-09-29 13 views
8

私は以下のURLから、Mavenのリポジトリから単一のJARファイルをダウンロードしようとしているからjarファイルをダウンロードして動作していません。ブラウザにダウンロードwgetのは、Mavenのレポ

http://repo1.maven.org/maven2/com/google/guava/guava-testlib/10.0/guava-testlib-10.0.jar

  • 正常に動作し、そして予想通り、私は、ファイルを取得します。

  • 「wgetの」ダウンロードの何かが、私は取得したファイルが有効ではありません。ダウンロードしたファイルで 'jar -tf'を実行すると、 'ZipException:zipファイルを開く際にエラーが発生しました'というメッセージが表示されます。

  • (「たFileOutputStream」に書いたURLから「のInputStream」)のJavaからプログラムのダウンロード何かをファイルをダウンロードし、ファイルを作成します。 WinZipの/ 7-ジップでそれを開くと、私が得るために期待していたjarアーカイブのように見える「グアバ-TESTLIB-10.0」という名前のファイルを含むように表示されます。少なくとも時々、予想通り

  • wget別の瓶(-Uユーザーエージェント文字列で)仕事をし

これはwgetを/ MavenのまたはJava/Mavenの間にいくつかの危険な相互作用ですか?ブラウザが正しく理解してダウンロードできる不正な形式のjarファイルですか?どちらも私にとってはやや不確かなようです。

答えて

10

wgetは一般的には中央のメイキングレポからブロックされます。なぜなら、一部の人々はうまくやっていないし、あまりにも多くのことをしようとしないからです。ユーザエージェントを設定してみてください:

wget -U "Any User Agent" http://repo1.maven.org/maven2/com/google/guava/guava-testlib/10.0/guava-testlib-10.0.jar 
+0

ユーザエージェントは違いはありません。有り得るかどうかにかかわらず、それは何かをダウンロードします。ただのものではありません。興味深いことに、それはもはや私は、ユーザエージェントなしソースの瓶をwgetのできない、ので、多分これはそれとは何かです。 –

+0

ユーザエージェントがなければリターンコードは403(不正)です。どうしてあなたがまだ.jarを取得するのか分かりません: - /ここでwgetの出力をコピー/貼り付けできますか? – leonm

+0

ユーザーエージェントを使用しないと、ユーザーエージェントを使用しないwgetは現在403になり、ダウンロードは正しく動作します。私は瓶が一晩で変わったかもしれないと思いますか? –