Maven初了解

124 阅读4分钟

一.高校构建作用

1.应用场景

掌握安装,第三方jar宝

2.依赖管理
3.项目构建管理

Maven优势:

  1. 构建触发方便
  2. 构建格式固定化: 要求不同代码提示功能:项目结构:src,web,webcontent
  • 构建功能;maven:src,webapp 六步:
  1. 清理
  2. 编译
  3. 测试
  4. 报告
  5. 打包
  6. 部署

二.安装 要求: 本机具备java环境变量环境 maven

  • bin
  • boot
  • conf:配置文件
  • lib
修改配置文件

本地配置到idea

三.工程关键

四个属性:标识 GroupId:组织标识:公司业务

线域名到写最多不要四级 ArtifactId:产品线名_模块名:语义不可重复

Version:

  1. 主版本号:改变新功能永远增加

  2. 次版本号:功能调整.向下兼容,新增类,接口

  3. 修订号:修复bug例子:1.0.0

Packaging[具体打包属性] (前三个必选,第四个可选)定义规则: jar:.jar结尾 war:web工程 pom:用来继承父工程

四.创建SE工程 记得修改maven 手工创建,使用插件(当然是使用插件了!) 乌龟的屁股:龟腚(规定) 规定:必须是webappp

  1. 创建javase文件结构
  2. 补全文件结构
  3. 修改pom.xml
  4. 刷新:web多哦了蓝点

使用插件创建:jbl 一件创建

项目结构
  • src:项目源文件
  • 和pom.xml
  • resources:项目资源配置文件
  • webapp:web相关配置
  • text:项目测试代码

五.依赖管理

最重要的功能 dependeency标签 gav属性 初始化scope默认范围maintext都生小

重点:编写pom.xml文件

  <!--不会改变-->
  <groupId>com.atheliu</groupId>  
  <artifactId>maven-javaee-project-03</artifactId>
  <!--构建过程,部署-->
  <version>1.0-SNAPSHOT</version>
  <!--普通打包方式不打包pom-->
  <packaging>war</packaging>
  <!--声明版本号-->
  <properties>

    <!--第三方依赖信息说明
    1.maven查询官网
    2.使用maven插件
    项目依赖集合
    每个依赖项
    [gav]依赖的信息
    -->
  <dependencies>
     <dependency>
       <groupId>
       </groupId>
     </dependency>


    <!--具体依赖信息-->
  </dependencies>
  </properties>



</project>

安装插件查询,太高效了! 必须的三个属性:

扩展: 提取版本号吗,统一管理 声明称全局变量 可选属性scope引入依赖的作用域 默认:compile main text 打包和运行 text text junit @text runtime main,text不会 打包和运行 反射 mysql Class.forName()

  provided   main  text 打包和运行不同      tamcat提供servlet
  总结:直接默认值
  
六.依赖传递和依赖冲突
  1.依赖传递      
  优点:
  简化依赖的导入
  •   减少重复依赖
    
  •   自动管理依赖
    
  •   确保版本正确性
    
    
    不用写三遍只用写一遍
    A导入依赖:自动导入依赖的依赖
    
    
    2.依赖冲突
    解决冲突原则:
    
  •   第一原则:谁短谁优先(引用的路径长度)
    
  •   第二原则:谁上谁优先
    
  •   dependencies声明的先后顺序
    
    (有重复依赖)
    当发生重复依赖导入,会终止依赖传递
    避免重复依赖和循环依赖
    
    只要发生冲突,后续都不应用
    
    
    
    

七.Maven导入失败和解决方案

  Maven仓库本地缓存被污染
  
  
  •   访问本地仓库没有,不访问阿里镜像的问题
    
  •   解决:一直删一直下
    

删除last.结尾的,多尝试几次

删除脚本工具,bat 寻找本地位置

八.构建管理 构建:java通过一系列过程,变成可执行可部署的应用程序.

主动出发场景;编译不充分 重新编译 打包 部署本地d:\rep 阿里镜像 或私服仓库 删除污染文件

命令方式构建:

** 1.必须是进入项目根目录* ** 2.部署必须是jar形式*** web不行

语法:

命令方式触发: mvn clean :删除target mvn compile :生成target mvn text :测试源代码 mvn site :生成一个展示页面 mvn deploy:只打包,上传私服

可视化构建:

  • 清理

  • 编译

  • 测试

  • 打包

  • 报告

  • 部署

构建命令周期: 触发周期后的命令,会自动触发同一周期前的命令

简单触发构建命令过程 有序构建容器

清理 clean 构建 compile tast package install /deploy 报告 siye

八.maven的继承

作用:在父工程中统一依赖信息,进行统一版本管理

背景:多个模块同i框架

思路1:在父工程中引入依赖 思路2:父工程不引入依赖,只作依赖声明 ga ga

聚合(modules)
组织到一个父工程,统一构建子工程,统一管理