2009-08-13 10 views
5

私はMavenを使ってプロジェクトをビルドしようとしています。私が試したいくつかのコンピュータでプロジェクトがうまく構築されますが、1台のマシンでは、ランダムな問題があります。不明な依存関係Mavenビルドに登場する

基本的に、mavenはpom.xmlファイルまたはsettings.xmlファイルには含まれていない依存関係を検索しています。

私はmvn依存関係を試しました:パージ - ローカルリポジトリはまだ利用できません。私はまだ依存関係を探しているmvnで立ち往生しています。どこから探しているのか分かりません。

答えて

12

依存関係:ツリーをプロジェクトに実行すると、望ましくない依存関係が導入されている場所がわかります。次に、依存関係を除外できます。

これは、出力の例を示します。

[INFO] [dependency:tree] 
[INFO] org.apache.maven.plugins:maven-dependency-plugin:maven-plugin:2.0-alpha-5-SNAPSHOT 
[INFO] \- org.apache.maven.doxia:doxia-site-renderer:jar:1.0-alpha-8:compile 
[INFO] \- org.codehaus.plexus:plexus-velocity:jar:1.1.3:compile 
[INFO]  \- velocity:velocity:jar:1.4:compile 

依存関係を除外するには、このような何かしたい:依存関係のプラグインの詳細については

<dependency> 
    <groupId>sample.ProjectA</groupId> 
    <artifactId>Project-A</artifactId> 
    <version>1.0</version> 
    <exclusions> 
    <exclusion> <!-- declare the exclusion here --> 
     <groupId>sample.ProjectB</groupId> 
     <artifactId>Project-B</artifactId> 
    </exclusion> 
    </exclusions> 
</dependency> 

documentationを参照してください。

除外の詳細については、guideを参照してください。

更新:m2eclipseプラグインを使用して、依存関係のグラフツリーを生成することも、グラフとして生成することもできます。 dependency tree screenshot http://www.sonatype.com/books/m2eclipse-book/reference/figs/web/eclipse_pom-editor-depend-tree-locate.png dependency graph screenshot http://www.sonatype.com/books/m2eclipse-book/reference/figs/web/eclipse_pom-editor-graph.png

0

Mavenの依存関係は推移的依存関係(依存関係の依存関係)を持つことができるので、何かがPOMで明示的に宣言されていない場合でも、Mavenはまだそれを探しに行く必要があるかもしれません。リッチ・セラーが説明しているように、問題の診断に役立つはずです。

実行中mvn依存関係:ツリー問題が発生していない他のマシンで実行して出力を比較することもできます。

パージローカルリポジトリは、この点についてはあまり役に立ちません。そのうちの1つが壊れている場合に備えて、あなたのローカルレポからアーティファクトを除去することです。 mavenがローカルリポジトリにない依存関係を取得しようとしている場合、実際にはそれほど大きな問題にはならないでしょう。

関連する問題