Maven入门基础知识

Maven

什么是maven:本质是一个项目管理工具,将项目开发和管理过程抽象成一个项目对象模型(POM:Project Object Model)。

作用:

  1. jar包管理,直接写标签自动下载,避免资源间的版本冲突问题
  2. 统一工程结构,提供标准的、跨平台的自动化项目构建方式
  3. 提供插件方便开发人员打包

Maven的安装

  • 安装包下载

    官网:http://maven.apache.org/

    下载地址:http://maven.apache.org/download.cgi

  1. java环境变量确认

    进入cmd执行javac命令确认java环境变量无误:javac

  2. 解压maven安装

    不要包含中文以及特殊符号

  3. 配置MAVEN_HOME
  4. 配置path

    不要删除原有的path,直接在path中添加一下信息%MAVEN_HOME%\bin

  5. 确认是否安装完成

仓库

概念:用于储存资源,包含各种jar包

分类:

  • 本地仓库:本电脑
  • 远程仓库:非本机电脑
    • 中央仓库:开源
    • 私服:部门/公司范围内
私服作用:具有版权,一定范围共享,内部开放

坐标

maven中描述仓库中资源的位置

  • 坐标: 唯一确定某一个文件夹,然后就能够找对应的jar
  • https://mvnrepository.com/

主要组成:

  • groupId:定义当前maven项目隶属组织名称
  • artifactId:定义当前maven项目名称
  • version:定义当前项目版本号

阿里镜像配置

  1. 进入maven_home的目录

  2. 进入conf目录

  3. 编辑settings文件

    1. 修改本地仓库地址

      <localRepository>本地仓库目录</localRepository>
      
    2. 配置阿里镜像

      在mirros标签下面添加一下内容

       <mirror>
            <id>alimaven</id>
            <name>aliyun maven</name>
            <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
            <mirrorOf>central</mirrorOf>        
          </mirror>
      
    全局setting与用户setting区别:全局定义l当前计算机maven的公共配置,用户定义的是当前用户的配置

目录结构

  • project-name
    • src
      • main
        • java
        • resources
      • test
        • java
        • resources
    • pom 指定jar
  • web-project
    • src
      • main
        • java
        • resources
        • webapp
      • test
        • java
        • resources
    • pom 指定jar

创建maven工程

和普通工程一样只是选择的是maven

注意最后创建完成后的弹窗选择:Enable Auto-Import

maven工程和普通工程使用唯一区别在于jar可以通过pom指定

web 工程tomcat配置

  1. tomcat插件

    添加插件到pom文件中

    <dependencies>
    </dependencies>  
    
    <!--构建-->
      <build>
        <!--设置插件-->
        <plugins>
          <!--具体的插件配置-->
          <plugin>
            <groupId>org.apache.tomcat.maven</groupId>
            <artifactId>tomcat7-maven-plugin</artifactId>
            <version>2.1</version>
            <configuration>
              <port>80</port>
              <path>/</path>
            </configuration>
          </plugin>
        </plugins>
      </build>
    
  2. .普通创建tomcat的方式一致

依赖

具有传递性,可分为直接依赖、间接依赖;路径优先,声明优先

效果: 导入其他包如果说该包依赖于其他jar你在当前项目也会获得这些jar

  • 可选依赖

    • 可以选择依赖的jar包不给其他工程可见

      <!--设置当前项目所依赖的所有jar-->
      <dependencies>
          <!--设置具体的依赖-->
              <dependency>
                  <!--依赖所属群组-->
                  <groupId>mysql</groupId>
                     <!--依赖所属项目-->
                  <artifactId>mysql-connector-java</artifactId>
                     <!--依赖版本号-->
                  <version>8.0.18</version>
                  <optional>true</optional>
              </dependency>
          </dependencies>
      
  • 排除依赖

    • 主动排除送的jar

              <dependency>
                  <groupId>com.itheima</groupId>
                  <artifactId>maven-hello</artifactId>
                  <version>1.0-SNAPSHOT</version>
                  <exclusions>
                      <exclusion>
                          <groupId>mysql</groupId>
                          <artifactId>mysql-connector-java</artifactId>
                      </exclusion>
                  </exclusions>
              </dependency>
      

依赖范围

  • compile 默认都有
  • test 只能在test包里面使用
  • provide 除了不参与打包其他都有
  • runtime 只参与打包其他地方都没有

maven生命周期

compile–>test-complile–>test–>package–>install

  • 生命周期特点

    • 执行后面的生命周期也会先顺序执行前面的生命周期
  • clean

    • 清除target目录,清除缓存
  • package

    • 打包工程
  • install

    • 将jar安装到本地仓库
    插件
    • 插件与生命周期内的阶段绑定,在执行到对应生命周期时执行对应的插件功能
    • 默认maven在各个生命周期上绑定有预设的功能
    • 通过插件可以自定义其他功能

区别:WAR VS JAR

  • war : web工程,能够直接部署到tomcat
  • jar: 普通的java工程,多半是工具类或则框架的源码
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值