看懂Maven的配置文件

  • Maven是项目管理工具,作用:项目构建、依赖管理

  • POM,(Project Object Model),项目对象模型

  • apache-maven-3.9.4\boot\plexus-classworlds-2.7.0.jar:Maven的类加载器

  • Maven基础概念


  • 仓库

    • 放各种jar包
    • 仓库的分类

      • 本地仓库:计算机本地
      • 远程仓库:非本机的仓库,为本地仓库提供jar包
    • 私服的作用

      • 保存具有版权的资源
      • 一定范围内共享资源,仅对内部开放
  • 坐标

    • 组成
      • groupId:定义当前maven资源隶属组织名称,通常是域名反写
      • artifactId:定义当前maven资源名称
      • version:定义资源版本号
        • snapshot结尾:开发版本
        • release结尾:完成版本
      • packaging:定义该资源打包方式
    • 作用:给maven定位资源用的,通过该标志可以将资源的识别和下载交由机器完成
  • 配置

    • 本地仓库位置(可选,有默认位置)
    • 远程仓库配置
      • 镜像仓库配置
        • <mirror>
            <id>nexus-aliyun</id>
            <mirrorOf>central</mirrorOf>
            <name>Nexus aliyun</name>
            <url>http://maven.aliyun.com/nexus/content/groups/public</url>
          </mirror>
          
  • Maven工程一


  • 工程目录结构
    • 创建src\main\javasrc\main\resourcesrc\test\javasrc\test\resource目录结构
    • 创建src文件夹同级的pom.xml文件
      • <modelVersion>4.0.0</modelVersion>:POM模型版本号为4.0.0
  • 构建命令,一次性可以执行多个命令,多个命令之间用逗号分隔
    • mvn compile: 编译
    • mvn clean: 清理
    • mvn test: 测试
    • mvn package: 打包
    • mvn install: 安装到本地仓库
  • 插件创建工程
    •   mvn archetype:generate
          -DgroupId={myGroupId}
          -DartifactId={myActifactId}
          -DarchetypeArtifactId=maven-archetype-quickstart
          -DinteractiveMode=false
      
  • 依赖管理


  • 依赖配置
  • 依赖传递
    • 依赖传递冲突问题
      • 路径优先
        • 当依赖中出现相同的资源时,层级越深,优先级越低
      • 声明优先
        • 当资源在相同层级被依赖时,配置顺序前的覆盖后面配置的
      • 特殊优先
        • 当同级配置了相同资源的不同版本,后配置的覆盖先配置的
  • 可选依赖
    • 对外隐藏所依赖的资源
    •   <dependency>
          <groupId>junit</groupId>
          <artifactId>junit</artifactId>
          <version>4.12</version>
          <optional>true</optional>
        </dependency>
      
  • 排除依赖
    • 依赖范围
      • 依赖的jar理论上了来说可以在任何地方使用,可通过scope标签设定其作用范围
      • 作用范围
  • 生命周期与插件


待补充

posted @   bwqueen  阅读(57)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示