maven中的依赖管理

依赖管理的结果直接在idea右侧看即可

maven中的依赖管理_第1张图片 

依赖配置

依赖指运行当前项目所需的jar,一个项目可以设置多个依赖。



    
    
        
        junit
        
        junit
        
        4.9
        
        test
    

依赖传递

This means that if A depends on B and B depends on C, then A depends on both B and C.

直接依赖:在当前项目中通过依赖配置建立的依赖。

间接依赖:如果“直接依赖”依赖其他资源,那么当前项目间接依赖其他资源。

相同依赖不同版本怎么选

假如依赖们在不同层,路径优先:选层浅的。

假如依赖们在同一层,声明优先:前面的配置覆盖后面的配置。

假如依赖们都是直接依赖,后面的配置覆盖前面的配置。

maven中的依赖管理_第2张图片可选依赖

可选依赖在直接项目之外是隐藏的-----不透明

假如java-project这个项目配置可选依赖如下:

         
            junit
            junit
            4.12
            true
        

java01这个项目依赖上面这个项目:

        
            org.example
            java-project
            1.0-SNAPSHOT
        

 那么java01就看不到junit 4.12这个依赖:

maven中的依赖管理_第3张图片 

排除依赖

排除依赖指主动断开依赖的资源,被排除的资源无需指定版本------不需要

        
            junit
            junit
            4.12
            
                
                    org.hamcrest
                    hamcrest-core
                
            
        

maven中的依赖管理_第4张图片 

依赖作用范围

默认情况下依赖的jar可以在项目的任何地方被使用,可以通过scope标签设定其作用范围。

作用范围:

        主程序有效(main文件夹范围内)

        测试程序有效(test文件夹范围内)

        是否参与打包(package指令范围内)

maven中的依赖管理_第5张图片

依赖作用范围的传递性

带有依赖作用范围的资源在进行传递时,作用范围将受到影响。

maven中的依赖管理_第6张图片

你可能感兴趣的:(maven,maven)