web-dev-qa-db-ja.com

Maven依存関係ツリーを理解する方法

これはダンプの質問ですが、私はたくさん検索しましたが、Maven Dependency Tシャツの実際の読み方を理解できませんでした。このコマンドが依存関係を理解するために使用されていることは知っていますが、どうやって?これは私のプロジェクトのmvn dependency:tree -Dverboseの結果です。

[INFO] +- org.springframework:spring-core:jar:4.0.2.RELEASE:compile
[INFO] |  \- commons-logging:commons-logging:jar:1.1.3:compile
[INFO] +- org.springframework:spring-web:jar:4.0.2.RELEASE:compile
[INFO] |  +- (org.springframework:spring-aop:jar:4.0.2.RELEASE:compile - omitted for duplicate)
[INFO] |  +- org.springframework:spring-beans:jar:4.0.2.RELEASE:compile
[INFO] |  |  \- (org.springframework:spring-core:jar:4.0.2.RELEASE:compile - omitted for duplicate)
[INFO] |  +- (org.springframework:spring-context:jar:4.0.2.RELEASE:compile - omitted for duplicate)
[INFO] |  \- (org.springframework:spring-core:jar:4.0.2.RELEASE:compile - omitted for duplicate)
[INFO] +- org.springframework:spring-webmvc:jar:4.0.2.RELEASE:compile
[INFO] |  +- (org.springframework:spring-beans:jar:4.0.2.RELEASE:compile - omitted for duplicate)
[INFO] |  +- (org.springframework:spring-context:jar:4.0.2.RELEASE:compile - omitted for duplicate)
[INFO] |  +- (org.springframework:spring-core:jar:4.0.2.RELEASE:compile - omitted for duplicate)
[INFO] |  +- org.springframework:spring-expression:jar:4.0.2.RELEASE:compile
[INFO] |  |  \- (org.springframework:spring-core:jar:4.0.2.RELEASE:compile - omitted for duplicate)
[INFO] |  \- (org.springframework:spring-web:jar:4.0.2.RELEASE:compile - omitted for duplicate)
[INFO] +- org.springframework:spring-context:jar:4.0.2.RELEASE:compile
[INFO] |  +- (org.springframework:spring-aop:jar:4.0.2.RELEASE:compile - omitted for duplicate)
[INFO] |  +- (org.springframework:spring-beans:jar:4.0.2.RELEASE:compile - omitted for duplicate)
[INFO] |  +- (org.springframework:spring-core:jar:4.0.2.RELEASE:compile - omitted for duplicate)
[INFO] |  \- (org.springframework:spring-expression:jar:4.0.2.RELEASE:compile - omitted for duplicate)
[INFO] +- org.springframework:spring-aop:jar:3.0.0.RC3:compile
[INFO] |  +- aopalliance:aopalliance:jar:1.0:compile
[INFO] |  +- org.springframework:spring-asm:jar:3.0.0.RC3:compile
[INFO] |  +- (org.springframework:spring-beans:jar:3.0.0.RC3:compile - omitted for conflict with 4.0.2.RELEASE)
[INFO] |  \- (org.springframework:spring-core:jar:3.0.0.RC3:compile - omitted for conflict with 4.0.2.RELEASE)
[INFO] +- org.springframework:spring-tx:jar:4.0.2.RELEASE:compile
[INFO] |  +- (org.springframework:spring-beans:jar:4.0.2.RELEASE:compile - omitted for duplicate)
[INFO] |  \- (org.springframework:spring-core:jar:4.0.2.RELEASE:compile - omitted for duplicate)
[INFO] +- org.springframework:spring-orm:jar:4.0.2.RELEASE:compile
[INFO] |  +- (org.springframework:spring-beans:jar:4.0.2.RELEASE:compile - omitted for duplicate)
[INFO] |  +- (org.springframework:spring-core:jar:4.0.2.RELEASE:compile - omitted for duplicate)
[INFO] |  +- org.springframework:spring-jdbc:jar:4.0.2.RELEASE:compile
[INFO] |  |  +- (org.springframework:spring-beans:jar:4.0.2.RELEASE:compile - omitted for duplicate)
[INFO] |  |  +- (org.springframework:spring-core:jar:4.0.2.RELEASE:compile - omitted for duplicate)
[INFO] |  |  \- (org.springframework:spring-tx:jar:4.0.2.RELEASE:compile - omitted for duplicate)
[INFO] |  \- (org.springframework:spring-tx:jar:4.0.2.RELEASE:compile - omitted for duplicate)
[INFO] +- org.springframework.security:spring-security-core:jar:3.2.2.RELEASE:compile
[INFO] |  +- (aopalliance:aopalliance:jar:1.0:compile - omitted for duplicate)
[INFO] |  +- (org.springframework:spring-aop:jar:3.2.8.RELEASE:compile - omitted for conflict with 3.0.0.RC3)
[INFO] |  +- (org.springframework:spring-beans:jar:3.2.8.RELEASE:compile - omitted for conflict with 4.0.2.RELEASE)
[INFO] |  +- (org.springframework:spring-context:jar:3.2.8.RELEASE:compile - omitted for conflict with 4.0.2.RELEASE)
[INFO] |  +- (org.springframework:spring-core:jar:3.2.8.RELEASE:compile - omitted for conflict with 4.0.2.RELEASE)
[INFO] |  \- (org.springframework:spring-expression:jar:3.2.8.RELEASE:compile - omitted for conflict with 4.0.2.RELEASE)
[INFO] +- org.springframework.security:spring-security-web:jar:3.2.2.RELEASE:compile
[INFO] |  +- (aopalliance:aopalliance:jar:1.0:compile - omitted for duplicate)
[INFO] |  +- (org.springframework.security:spring-security-core:jar:3.2.2.RELEASE:compile - omitted for duplicate)
[INFO] |  +- (org.springframework:spring-beans:jar:3.2.8.RELEASE:compile - omitted for conflict with 4.0.2.RELEASE)
[INFO] |  +- (org.springframework:spring-context:jar:3.2.8.RELEASE:compile - omitted for conflict with 4.0.2.RELEASE)
[INFO] |  +- (org.springframework:spring-core:jar:3.2.8.RELEASE:compile - omitted for conflict with 4.0.2.RELEASE)
[INFO] |  +- (org.springframework:spring-expression:jar:3.2.8.RELEASE:compile - omitted for conflict with 4.0.2.RELEASE)
[INFO] |  \- (org.springframework:spring-web:jar:3.2.8.RELEASE:compile - omitted for conflict with 4.0.2.RELEASE)
[INFO] +- org.springframework.security:spring-security-config:jar:3.2.2.RELEASE:compile
[INFO] |  +- (aopalliance:aopalliance:jar:1.0:compile - omitted for duplicate)
[INFO] |  +- (org.springframework.security:spring-security-core:jar:3.2.2.RELEASE:compile - omitted for duplicate)
[INFO] |  +- (org.springframework:spring-aop:jar:3.2.8.RELEASE:compile - omitted for conflict with 3.0.0.RC3)
[INFO] |  +- (org.springframework:spring-beans:jar:3.2.8.RELEASE:compile - omitted for conflict with 4.0.2.RELEASE)
[INFO] |  +- (org.springframework:spring-context:jar:3.2.8.RELEASE:compile - omitted for conflict with 4.0.2.RELEASE)
[INFO] |  \- (org.springframework:spring-core:jar:3.2.8.RELEASE:compile - omitted for conflict with 4.0.2.RELEASE)
[INFO] +- javax.servlet:javax.servlet-api:jar:3.1.0:compile
[INFO] +- org.glassfish.jersey.core:jersey-server:jar:2.6:compile
[INFO] |  +- org.glassfish.jersey.core:jersey-common:jar:2.6:compile
[INFO] |  |  +- (javax.ws.rs:javax.ws.rs-api:jar:2.0:compile - omitted for duplicate)
[INFO] |  |  +- (javax.annotation:javax.annotation-api:jar:1.2:compile - omitted for duplicate)
[INFO] |  |  +- org.glassfish.jersey.bundles.repackaged:jersey-guava:jar:2.6:compile
[INFO] |  |  +- (org.glassfish.hk2:hk2-api:jar:2.2.0:compile - omitted for duplicate)
[INFO] |  |  +- (org.glassfish.hk2.external:javax.inject:jar:2.2.0:compile - omitted for duplicate)
[INFO] |  |  +- (org.glassfish.hk2:hk2-locator:jar:2.2.0:compile - omitted for duplicate)
[INFO] |  |  \- org.glassfish.hk2:osgi-resource-locator:jar:1.0.1:compile
[INFO] |  +- org.glassfish.jersey.core:jersey-client:jar:2.6:compile
[INFO] |  |  +- (org.glassfish.jersey.core:jersey-common:jar:2.6:compile - omitted for duplicate)
[INFO] |  |  +- (javax.ws.rs:javax.ws.rs-api:jar:2.0:compile - omitted for duplicate)
[INFO] |  |  +- (org.glassfish.hk2:hk2-api:jar:2.2.0:compile - omitted for duplicate)
[INFO] |  |  +- (org.glassfish.hk2.external:javax.inject:jar:2.2.0:compile - omitted for duplicate)
[INFO] |  |  \- (org.glassfish.hk2:hk2-locator:jar:2.2.0:compile - omitted for duplicate)
[INFO] |  +- javax.ws.rs:javax.ws.rs-api:jar:2.0:compile
[INFO] |  +- javax.annotation:javax.annotation-api:jar:1.2:compile
[INFO] |  +- org.glassfish.hk2:hk2-api:jar:2.2.0:compile
[INFO] |  |  +- org.glassfish.hk2:hk2-utils:jar:2.2.0:compile
[INFO] |  |  \- org.glassfish.hk2.external:aopalliance-repackaged:jar:2.2.0:compile
[INFO] |  +- org.glassfish.hk2.external:javax.inject:jar:2.2.0:compile
[INFO] |  +- org.glassfish.hk2:hk2-locator:jar:2.2.0:compile
[INFO] |  |  +- (org.glassfish.hk2.external:javax.inject:jar:2.2.0:compile - omitted for duplicate)
[INFO] |  |  +- (org.glassfish.hk2.external:aopalliance-repackaged:jar:2.2.0:compile - omitted for duplicate)
[INFO] |  |  +- (org.glassfish.hk2:hk2-api:jar:2.2.0:compile - omitted for duplicate)
[INFO] |  |  +- (org.glassfish.hk2:hk2-utils:jar:2.2.0:compile - omitted for duplicate)
[INFO] |  |  \- (org.javassist:javassist:jar:3.18.1-GA:compile - omitted for conflict with 3.15.0-GA)
[INFO] |  \- javax.validation:validation-api:jar:1.1.0.Final:compile
[INFO] +- com.Sun.jersey.contribs:jersey-spring:jar:1.18.1:compile
[INFO] |  +- com.Sun.jersey:jersey-servlet:jar:1.18.1:compile
[INFO] |  |  \- com.Sun.jersey:jersey-server:jar:1.18.1:compile
[INFO] |  |     \- com.Sun.jersey:jersey-core:jar:1.18.1:compile
[INFO] |  \- (org.springframework:spring-aop:jar:3.0.0.RC3:compile - omitted for duplicate)
[INFO] +- commons-dbcp:commons-dbcp:jar:1.3:compile
[INFO] |  \- commons-pool:commons-pool:jar:1.5.4:compile
[INFO] +- org.hibernate:hibernate-core:jar:4.0.1.Final:compile
[INFO] |  +- commons-collections:commons-collections:jar:3.2.1:compile
[INFO] |  +- antlr:antlr:jar:2.7.7:compile
[INFO] |  +- org.jboss.spec.javax.transaction:jboss-transaction-api_1.1_spec:jar:1.0.0.Final:compile
[INFO] |  +- dom4j:dom4j:jar:1.6.1:compile
[INFO] |  |  \- xml-apis:xml-apis:jar:1.0.b2:compile
[INFO] |  +- org.hibernate.javax.persistence:hibernate-jpa-2.0-api:jar:1.0.1.Final:compile
[INFO] |  +- org.jboss.logging:jboss-logging:jar:3.1.0.CR2:compile
[INFO] |  +- org.javassist:javassist:jar:3.15.0-GA:compile
[INFO] |  \- org.hibernate.common:hibernate-commons-annotations:jar:4.0.1.Final:compile
[INFO] |     \- (org.jboss.logging:jboss-logging:jar:3.1.0.CR2:compile - omitted for duplicate)
[INFO] +- cglib:cglib:jar:2.2.2:compile
[INFO] |  \- asm:asm:jar:3.3.1:compile
[INFO] +- mysql:mysql-connector-Java:jar:5.1.22:compile
[INFO] +- org.hibernate:hibernate-validator:jar:4.2.0.Final:compile
[INFO] |  +- (javax.validation:validation-api:jar:1.0.0.GA:compile - omitted for conflict with 1.1.0.Final)
[INFO] |  \- (org.slf4j:slf4j-api:jar:1.6.1:compile - omitted for conflict with 1.7.5)
[INFO] +- com.Sun.xml.bind:jaxb-xjc:jar:2.2.6:compile
[INFO] +- com.Sun.xml.bind:jaxb-impl:jar:2.2.6:compile
[INFO] +- javax.xml.bind:jaxb-api:jar:2.2.6:compile
[INFO] +- javax.servlet:jstl:jar:1.2:compile
[INFO] +- org.Apache.Tomcat:jsp-api:jar:6.0.32:provided
[INFO] |  +- org.Apache.Tomcat:el-api:jar:6.0.32:provided
[INFO] |  \- org.Apache.Tomcat:servlet-api:jar:6.0.32:provided
[INFO] +- log4j:log4j:jar:1.2.15:compile
[INFO] |  \- javax.mail:mail:jar:1.4:compile
[INFO] |     \- javax.activation:activation:jar:1.1:compile
[INFO] +- org.slf4j:slf4j-api:jar:1.7.5:compile
[INFO] +- org.slf4j:slf4j-simple:jar:1.6.4:compile
[INFO] |  \- (org.slf4j:slf4j-api:jar:1.6.4:compile - omitted for conflict with 1.7.5)
[INFO] \- org.slf4j:slf4j-log4j12:jar:1.7.5:compile
[INFO]    +- (org.slf4j:slf4j-api:jar:1.7.5:compile - omitted for duplicate)
[INFO]    \- (log4j:log4j:jar:1.2.17:compile - omitted for conflict with 1.2.15)
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 6.667 s
[INFO] Finished at: 2014-03-12T14:37:46+01:00
[INFO] Final Memory: 9M/16M
[INFO] ------------------------------------------------------------------------

この質問の解決策としてマークされています: IncompatibleClassChangeError:Class ClassMetadataReadingVisitor has interface ClassVisitor as super class 依存するjarと競合を確認するにはどうすればよいですか?

26
R. Rahul

...依存関係ツリーです。リストの下にあるものは、その親の依存関係です。

[INFO] +- org.springframework:spring-core:jar:4.0.2.RELEASE:compile
[INFO] |  \- commons-logging:commons-logging:jar:1.1.3:compile

Spring-coreはcommons-loggingに依存しています。

[INFO] +- org.glassfish.jersey.core:jersey-server:jar:2.6:compile
[INFO] |  +- org.glassfish.jersey.core:jersey-common:jar:2.6:compile
[INFO] |  |  +- (javax.ws.rs:javax.ws.rs-api:jar:2.0:compile - omitted for duplicate)
[INFO] |  |  +- (javax.annotation:javax.annotation-api:jar:1.2:compile - omitted for duplicate)

Jersey-serverはjersey-commonに依存しています。 Jersey-commonは、rs-api、annotation-apiなどに依存します。

19
Dave Newton

リンクした回答は、spring-corespring-asmのバージョンの競合を探す必要があることを示しています。

ツリーでこれらのライブラリを検索すると、spring-coreを含むほとんどのSpringコンポーネントは4.0.2.RELEASEですが、spring-asm3.0.0.RC3です。また、問題のあるspring-asmは、次のトップレベルの依存関係の推移的な依存関係であることがわかります。

[INFO] +- org.springframework:spring-aop:jar:3.0.0.RC3:compile

したがって、pom.xmlでそれを見つけて、そのバージョンを修正する必要があります。

3
axtavt