maven进阶总结

maven进阶总结

      • 1. maven之间可以互相导包
      • 2. maven的依赖是具有传递性的
      • 3. 可选依赖和排除依赖:
      • 4. 继承与聚合
        • 4.1聚合
        • 4.2 继承
      • 5. 属性的配置与使用
      • 6. 版本管理
      • 8. 多环境开发和跳过测试(了解)

1. maven之间可以互相导包

从当前maven的pom文件中,找到对应的坐标,然后在其他maven中导入改坐标就可以了,但是想到导入该坐标,需要使用生命周期中的install,必须先安装到本地才可以在其他的包中识别并编译成功。

<dependency>
          <groupId>org.examplegroupId>
          <artifactId>maven_03_pojoartifactId>
          <version>1.0-SNAPSHOTversion>
      dependency>

2. maven的依赖是具有传递性的

比如:我在maven_03_pojo中导入了org.mybatis,那么我maven_02_ssm中不需要导入该坐标,也可以识别到这个包,这就是maven的依赖传递。

maven进阶总结_第1张图片

3. 可选依赖和排除依赖:

可选依赖:我隐藏我的东西,不想让别人用

<dependency>
            <groupId>org.mybatisgroupId>
            <artifactId>mybatisartifactId>
            <version>3.5.5version>
            
            <optional>trueoptional>
        dependency>

排除依赖:我用了别人的东西,一部分我不想用

<dependency>
    <groupId>org.examplegroupId>
    <artifactId>maven_04_daoartifactId>
    <version>1.0-SNAPSHOTversion>
    <exclusions>
      <exclusion>
        <groupId>log4jgroupId>
        <artifactId>log4jartifactId>
      exclusion>
    exclusions>
  dependency>

4. 继承与聚合

4.1聚合

maven进阶总结_第2张图片
步骤:

  • 4.1.1. 创建Maven模块,设置打包类型为pom
    	<packaging>pompackaging>
    
  • 4.1.2. 设置当前聚合工程所包含的子模块名称
    	 
    <modules>
        <module>../maven_02_ssmmodule>
        <module>../maven_03_pojomodule>
        <module>../maven_04_daomodule>
    modules>
    

聚合工程中所包含的模块在进行构建时会根据模块间的依赖关系设置构建顺序,与聚合工程中模块的配置书写位置无关参与聚合的工程无法向上感知是否参与聚合,只能向下配置哪些模块参与本工程的聚合

4.2 继承

maven进阶总结_第3张图片
步骤:

  • 4.2.1. 创建Maven模块,设置打包类型为pom
    	<packaging>pompackaging>
    
  • 4.2.2. 在父工程的pom文件中配置依赖关系 (子工程将沿用父工程中的依赖关系)
  • 4.2.3 配置子工程中可选的依赖关系
    	 
    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>log4jgroupId>
                <artifactId>log4jartifactId>
                <version>1.2.12version>
            dependency>
        dependencies>
    dependencyManagement>
    
  • 4.2.4 在子工程中配置当前工程所继承的父工程
    	    <parent>
        <groupId>org.examplegroupId>
        <artifactId>maven_01_parentartifactId>
        <version>1.0-SNAPSHOTversion>
        <relativePath>../maven_01_parent/pom.xmlrelativePath>   这一行不写也能用,帮忙定位位置的
    parent>
    
  • 4.2.5 在子工程中配置使用父工程中可选依赖的坐标
    	 <dependency>
            <groupId>log4jgroupId>
            <artifactId>log4jartifactId>
        dependency>
    

    子工程中使用父工程中的可选依赖时,仅需要提供群组id和项目id,无需提供版本,版本由父工程统一提供,避免版本冲突子工程中还可以定义父工程中没有定义的依赖关系

maven进阶总结_第4张图片

5. 属性的配置与使用

  • 5.1定义属性
    
    <properties>
        <spirng.version>5.2.0.RELEASEspirng.version>
        <log4j.version>1.2.12log4j.version>
        <mybatis-spring.version>1.3.0mybatis-spring.version>
    properties> 
    
  • 5.2 引用属性
    
    <dependency>
            <groupId>org.mybatisgroupId>
            <artifactId>mybatis-springartifactId>
            <version>${mybatis-spring.version}version>
        dependency>
    

6. 版本管理

maven进阶总结_第5张图片

8. 多环境开发和跳过测试(了解)

  1. a
  2. a

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