spring学习(官网)——解决版本冲突问题

1:spring版本冲突:在使用maven时有可能会意外的混入了不同版本的spring  jar包,比如你可能会发现第三方库,或者另外一个spring project,如果你忘了明确地声明依赖,会出现各种意想不到的事情。为了克服这样的问题,maven提供了 "bill of materials" (BOM) 依赖的理念,你可以在你的dependencyManagement 部分导入spring-framework-bom,所有spring依赖(直接和传递的)都是相同的版本。


    
        
            org.springframework
            spring-framework-bom
            4.3.3.RELEASE
            pom
            import
        
    
使用BOM一个额外的好处是在依赖spring framework artifact时你不在需要指定属性


    
        org.springframework
        spring-context
    
    
        org.springframework
        spring-web
    

2:日志版本冲突:运行时查找common-logging的算法,在方便最终用户的同时,也会出现问题。如果时间可以回退将spring作为新的项目开始,将会使用不同的日志依赖,首要的选择就是Simple Logging Facade for Java ( SLF4J)。

这有两条基本的方式关闭common-logging:

(1)从spring-core中排除common-logging依赖,

(2)依赖特殊的common-logging,用空jar文件替代库

排除common-logging,在你的dependencyManagement 添加以下代码:


    
        org.springframework
        spring-core
        4.3.3.RELEASE
        
            
                commons-logging
                commons-logging
            
        
    
使用SLF4J:


    
        org.springframework
        spring-core
        4.3.3.RELEASE
        
            
                commons-logging
                commons-logging
            
        
    
    
        org.slf4j
        jcl-over-slf4j
        1.5.8
    
    
        org.slf4j
        slf4j-api
        1.5.8
    
    
        org.slf4j
        slf4j-log4j12
        1.5.8
    
    
        log4j
        log4j
        1.2.14
    
多个slf4j,可选的。






你可能感兴趣的:(spring学习(官网)——解决版本冲突问题)