maven依赖的使用-04

maven相关知识点-04

通过maven在eclipces中创建项目

设置通过Maven创建的工程的JDK版本——一劳永逸
[1]打开settings.xml文件
[2]找到profiles标签
[3]加入如下配置

            
                jdk-1.7
                
                    true
                    1.7
                
                
                    1.7
                    1.7
                    1.7
                
            

②工程坐标(maven的坐标)
groupId:com.atguigu.maven
ArtifactId:MakeFriends
Package:com.atguigu.maven

③在Eclipse环境下执行Maven命令:右击pom.xml选择run as 中的命令执行即可

④当创建web工程时,会发现刚创建的项目中创建的jsp页面会报错。此时看报错信息会发现时找不到servlet-api的jar包导致的。解决办法:

ServletAPI依赖


            javax.servlet
            servlet-api
            2.5
            provided

一定时provided范围的,因为在部署时tomcat在自带此jar,不然会产生冲突。

maven依赖的传递性

依赖的传递性
A 依赖 B,B 依赖 C,A 能否使用 C 呢?那要看 B 依赖 C 的范围是不是 compile,如果是则可用,否则不
可用。

如下展示:

1566998808481.png

maven依赖的排除

​ 如果我们在当前工程中引入了一个依赖是 A,而 A 又依赖了 B,那么 Maven 会自动将 A 依赖的 B 引入当
前工程,但是个别情况下 B 有可能是一个不稳定版,或对当前工程有不良影响。这时我们可以在引入 A 的时
候将 B 排除。
[1]情景举例

1566999075485.png

[2]配置方式


    com.atguigu.maven
    HelloFriend
    0.0.1-SNAPSHOT
    jar
    compile
    
         
        commons-logging
        commons-logging
        
    

[3]排除后的效果

1566999188019.png

maven依赖的原则

  • 作用:解决模块工程间jar包冲突问题

  • 情景1:验证路径最短优先原则

1566999411341.png
  • 情景2:验证路径相同时,先声明者优先
1566999515677.png

先声明指的时dependency中的配置先后顺序

maven统一版本控制

统一管理所依赖 jar 包的版本
对同一个框架的一组 jar 包最好使用相同的版本。为了方便升级框架,可以将 jar 包的版本信息统一提
取出来

[1]统一声明版本号


4.1.1.RELEASE

其中 atguigu.spring.version 部分是自定义标签

[2]引用前面声明的版本号



    org.springframework
    spring-core
     ${atguigu.spring.version}

……

你可能感兴趣的:(maven依赖的使用-04)