dependencyManagementでの依存関係と依存関係の違い

1.在Maven中dependencyManagement的作用对所依赖jar包进行版本管理的管理器,dependencyManagement中申明dependencies并不引入进应的Jar包,只是声明依赖。
2.独立的dependencies的依赖会引入相应的Jar包

3.Maven依赖工作过程:如果dependencies里的dependency自己没有声明version元素,那么maven就会倒dependencyManagement里面去找有没有对该artifactId和groupId进行过版本声明,如果有,就继承它,如果没有就会报错,告诉你必须为dependency声明一个version
**实例应用**:在父pom文件中加了dependencyManagement节点,添加了一些依赖的version信息,都没问题。但是添加
<dependency>
            <groupId>net.sf.ehcache</groupId>
            <artifactId>ehcache-core</artifactId>
            <version>2.3.0</version>
</dependency>

以后,编译就会出错。报错信息如下:

'dependencies.dependency.version' for net.sf.ehcache:ehcache-core:jar is missing. @ line 126, column 21

 在子pom文件中,该依赖如下:

<dependency>
            <groupId>net.sf.ehcache</groupId>
            <artifactId>ehcache-core</artifactId>
</dependency>
解决方法:在父POM中将dependency添加到dependencyMangagemetn标签中

<dependencyManagement>
            <dependencies>
                                <dependency>
                                        <groupId>net.sf.ehcache</groupId>
                                        <artifactId>ehcache-core</artifactId>
                                        <version>2.3.0</version>
                            </dependency>
            </dependencies>
</dependencyManagement>

おすすめ

転載: blog.51cto.com/1929297/2400953