2011-04-06 14 views
12

Mavenリポジトリには、org.apache.commons:commons-io:1.3.2commons-io:commons-io:1.3.2という2つの依存関係があります。違いは何ですか?そして、私はpom.xmlでどちらを使うべきですか?org.apache.commons:commons-ioとcommons-io:commons-ioの違いは何ですか?

一般に、apacheコモンズパッケージの一部はhttp://repo1.maven.org/maven2/org/apache/commons/にあり、commons-*パッケージのほとんどはhttp://repo1.maven.org/maven2/にあります。

+1

私はちょうどこの混乱と戦っています。さらに悪いことに、Mavenリポジトリでは、コモンズioのためにgroupIdがorg.apache.commonsからcommons-ioに変更されたことを知りますが、コモンズランの場合は逆です。 – virgo47

+0

古いバージョンのorg.apache.commons:commons-io(たとえば、ローカルのMaven .m2 /リポジトリ)では、そこに「再配置」タグはありませんので、両方ともそれとio-commonsを依存関係/推移的依存関係として使用すると、クラスパスに2つの異なるバージョンのjar(yikes maven)が存在する可能性があります。 〜/ .m2/repository/org/apache/commons/commons-ioを削除してredownloadを強制的に修正するには – rogerdpack

答えて

6

投稿者commons-ioウェブサイト。最新リリースは2.0.1です。 1.3.2はかなり古いです。この情報が与えられた場合、http://repo2.maven.org/maven2/commons-io/のリポジトリには最新のリリースが保存され、使用するのに適しています。

This関連メールスレッドは面白い読みをします。

1

2つの依存関係は同じように見えます。私はcommons-io:commons-ioを使いたいと思います。commons-io:1.3.2が間違っています(間違ったgroupId!)

この位置にあるアーティファクトはhttp://repo1.maven.org/maven2/org/apache/commons/です。他のものよりも日付が新しい。