Maven核心概念

  1,maven约定的目录结构,约定是大家遵循的一个规则。

  每一个maven项目在磁盘中都是一个文件夹(项目-Hello)

  Hello/

   ---/src

   -------/main  #放主程序java代码和配置文件

   ----------------/java   #放程序包和包中的java文件

   ----------------/resources  #java程序中要使用的配置文件

   -------/test  #放测试程序代码和文件(不严格要求可以没有) 

   ----------------/java   #测试程序包和包中的java文件

   ----------------/resources  #测试java程序中要使用的配置文件

   ---/pom.xml  maven的核心文件(maven项目必须有)

  2,疑问:mvn compile 编译src/main目录下的所有java文件

    1)为什么要下载

      maven工具执行的操作需要很多插件(java类--jar文件)完成的     

    2)下载什么东西

      jar文件--叫做插件--插件完成某些功能

    3)下载的东西存放到哪里了

      默认仓库(本机仓库):c:\Users\Administrator\.m2\repository

    Downloading:https://repo.maven.apache.org/maven2/org/apache/maven/maven-plugin-......

    https://repo.maven.apache/org:中央仓库的地址

    执行mvn compile,结果是在项目的根目录下生成target目录(结果目录)

    maven编译的java程序,最后的class文件都放在target目录中

 

    设置本机存放资源的目录位置(设置本机仓库):

    1,修改maven的配置文件,maven安装目录/conf/settings.xml

      先备份settings.xml

    2,修改<local_repository指定你的目录(不要使用中文目录)

  3,仓库

    1)仓库是什么:仓库是存放maven使用的jar和我们项目使用的jar

      >maven使用的插件(各种jar)

      >项目使用的jar(第三方工具)

    2)仓库的分类:

      >本地仓库,就是你的个人计算机的文件夹,存放各种jar

      >远程仓库,在互联网上的,使用网络才能使用的仓库

        ①:中央仓库:最权威的,所有的开发人员都共享使用的一个集中的仓库。

            https://repo.maven.apache.org:中央仓库的地址

        ②:中央仓库的镜像:就是中央仓库的备份,在各大洲重要的城市都有镜像。

        ③:私服:在公司内部,在局域网中使用的,不是对外使用的。

     3)仓库的使用:maven仓库的使用不需要人为参与。

        开发人员需要使用mysql驱动-->maven首先查本地仓库--->私服--->镜像--->中央仓库,没有就向上查找

   4,pom:项目对象模型,是一个pom.xml文件

      基本信息:

      1)modelVersion:Maven模型的版本,对于Maven2和Maven3来说,它只能是4.0.0

      2)groupId:组织id,一般是公司域名的倒写。格式可以为:

            ①域名倒写。如com.baidu

            ②域名倒写+项目名。如com.baidu.appolo

      3)artifactId:项目名称,也是模块名称,对应groupId中项目中的子项目。

      4)version:项目的版本号。如果项目还在开发中,是不稳定版本,通常在版本后带-SNAPSHOT

            version使用三维数字标识,如1.1.0

      5)packaging:项目打包打包后压缩文件的扩展名,默认是jar,web应用是war

        packaging可以不写,默认是jar

      6)依赖:

        dependencies 和dependency

        你的项目中需要使用的各种资源说明,如果项目要用mysql驱动

        <dependencies>

            <!-- 依赖  java代码中 import -->

            <dependency>

                <groupId>mysql</groupId>               

                <artifactId>mysql-connector-java</artifactId>

                <version>5.1.9</version>

            </dependency>

        </dependencies>

        log4j日志依赖,junit单元测试依赖等

      7)properties(配置属性):设置属性

      8 )build:maven在进行项目的构建时,配置信息,如指定编译java代码使用的jdk的版本

      9)parent:

    注:groupId,artifactId,version

    坐标(gav):唯一值,在互联网中唯一标识一个项目的

    <groupId>公司域名的倒写</groupId>

    <artifactId>自定义项目名称</artifactId>

    <version>自定版本号</version>

    www.mvnrepository.com:搜索使用的中央仓库,使用groupId或者artifactId作为搜索条件

    https://mvnrepository.com/

    

posted @ 2021-11-15 00:05  doremi429  阅读(45)  评论(0编辑  收藏  举报