maven dependengcy:tree 查看maven依赖树(母项目指定pluginManagement)

Error injecting: org.apache.maven.shared.dependency.graph.internal.Maven3DependencyGraphBuilder
java.lang.NoClassDefFoundError: org/sonatype/aether/graph/DependencyNode

2.6的问题

发现这个项目用2.6的dependency plugin出问题,另一个项目用2.8的不出问题

1 两种方式解决

(1)于是在母项目中加入碰碰运气

<pluginManagement>
    <plugins>
        <plugin>  
            <groupId>org.apache.maven.plugins</groupId>  
            <artifactId>maven-dependency-plugin</artifactId>  
            <version>2.8</version>  
        </plugin>
    </plugins>
</pluginManagement>

搞定,因为这个case中,所有子项目都未有直接引用dependency-plugin或,或直接引用了,但没指定版本

(2)后来直接在这个子项目里指定

			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-dependency-plugin</artifactId>
				<version>3.0.0</version>
			</plugin>

  也可以

2 做一些实践验证pluginManagement 对版本的影响

MyTest是MyMain父子关系项目,请注意,不仅是MyTest module中有MyMain,而且要求MyMain的parent是MyTest

所有操作均是在MyMain 目录下mvn dependency:tree

            母项目不引用  母项目3.0.0

子项目未直接引用      缺省      3.0.0

子项目引用不指定ver    缺省      3.0.0  

子项目ver 2.8        2.8      2.8

缺省可能与mvn版本有关

3.5.3-2.6

3.3.0-2.8

==========================================

对于dependencyManagement的实践在 Maven实战 --- dependencies与dependencyManagement

原文地址:https://www.cnblogs.com/silyvin/p/11944084.html