Javaweb开发——maven

一、概述

        介绍:Apache Maven是- -个项目管理和构建工具,它基于项目对象模型
                 (POM Project Object Model)的概念,通过一小段描述信息来管理项目的构建。
        作用:
                ➢方便的依赖管理
                ➢统一的项目结构
                ➢标准的项目构建流程
        官网:Maven – Welcome to Apache Maven

        仓库:用于存储资源,管理各种jar包。
                ➢本地仓库:自己计算机上的-一个目录。(在安装的时候可以选择)
                ➢中央仓库: 由Maven团队维护的全球唯一的。
                ➢中央仓库地址: https://repo1.maven.org/maven2/
                ➢远程仓库(私服): 一般由公司团队搭建的私有仓库。 
                ➢查找顺序:现在本地找,本地没有去远程仓库找,远程没有才会去中央仓库找

        安装步骤: (大多数情况下都不会去本地安装)

                第一步:下载maven,下载地址:Maven – Download Apache Maven

                                 

                第二步:配置本地仓库:修改conf/settings.xml中的<localRepository>为一个指定目录。 
                          <localRepository>D:\develop\apache-maven-3.6.1\mvn_ repo</localRepository>

                第三步:配置阿里云私服:
                               修改conf/settings.xml中的<mirrors>标签,为其添加如下子标签:

 <mirror>
      <id>alimaven</id>
      <name>aliyun maven</name>
      <url> http://maven.aliyun.com/nexus/content/groups/public/</url>
      <mirrorOf>central</mirrorOf>
  </mirror>

                第四步:配置环境变量: MAVEN_ HOME为maven的解压目录,并将其bin目录加
                              入PATH环境变量。 

                ① 复制maven的安装目录,在此电脑上右键→属性→高级系统设置→环境变量→系统
                      变量下新建 ,输入变量名和安装目录确定  

                ②  接着向下拉系统变量,选择path→新建→%MAVEN_HOME%\bin

二、idea集成

 新建项目project的配置

1.配置Maven环境

 选择IDEA中File --> Settings --> Build,Execution,Deployment --> Build Tools --> Maven

 设置IDEA使用本地安装的Maven,并修改配置文件及本地仓库路径 

打开maven选择Runner设置JRE

选择Compiler下的Java Compiler 去设置 

上面是根据项目进行配置,下面是全局配置的方法

idea中选择File--> Close Project --> Customize --> All setting

之后的操作步骤单个项目的配置是一样的 

2.创建Maven项目

 ① 创建模块,选择Maven,'“点击Next

      点击File --> New --> Module
 ② 填写模块名称,坐标信息,点击finish, 创建完成

finish之后,等待maven的下载,完成之后配置文件是pom.xml


 ③  编写HelloWorld,并运行

       Maven项目的工程结构,text下没有resources文件夹,是因为这个文件夹在Text中不常用,
        所以Maven没有创建,可以text文件夹上手动右键创建一个文件夹,会直接有提示

          当我们新建一个个类并且运行起来,会发现项目目录结构够多了一个target文件夹,
          这个文件夹中存放的是自编码类

        Maven坐标 

        Maven中的坐标是资源的唯一标识,通过该坐标可以唯一定位资源位置

        使用坐标来定义项目或引入项目中需要的依赖。

        Maven坐标的主要组成

        groupId:定义当前Maven项目隶属组织名称(通常是域名反写,例如:com.baidu)

        artifactId:定义当前Maven项目名称(通常是模块名,例如:order-service)

        version:定义当前项目版本号

<groupld>com.XXXa</groupld>
<artifactld>maven-project</ artifactld>
<version>1.0-SNAPSHOT</version>
<!--项目依赖-->
<dependency>
    <groupld>ch.qos.logback</groupld>
    <artifactld>logback-classic</ artifactld>
    <version>1.2.3</version>
</dependency>

3.导入Maven项目 

 方式一:打开IDEA,选择右侧Maven面板,,点击+号,选中对应项目的pom.xml文件,双击即可。

   如果右侧没有maven面板就按照下面的方式调出来

方式二:打开IDEA,选择右侧Maven面板,点击+号,选中对应项目的pom.xml文件,双击即可。 

 

三、依赖管理

1.依赖配置

        依赖:指当前项目运行所需要的jar包,一个项目中可以引入多个依赖

        配置:
        1> 在 pom.xml中编写<dependencies>标签
        2> 在<dependencies>标签中 使用<dependency>引入坐标
        3> 定义坐标的 groupld,artifactld,version

<dependencies>
    <dependency>
        <groupld>ch.qos.logback</groupld>
        <artifactld>logback-classic</artifactld>
        <version>1.2.3</version>
    </dependency>
</dependencies>

         4> 点击刷新按钮,引入最新加入的坐标 

        注意:

        ① 如果引入的依赖,在本地仓库不存在,将会连接远程仓库/中央仓库,然后下载依赖。
             (这个过程会比较耗时,耐心等待)

        ② 如果不知道依赖的坐标信息,可以到https://mvnrepository.com/中搜索。

2.依赖传递

        依赖具有传递性:

        直接依赖:在当前项目中通过依赖配置建立的依赖关系
        间接依赖:被依赖的资源如果依赖其他资源,当前项目间接依赖其他资源

 

        排除依赖:
        排除依赖指主动断开依赖的资源,被排除的资源无需指定版本。

         

<dependency>
    <groupId>com.cccc</groupId>
    <artifactId>maven-projectB</artifactId>
    <version>1.0-SNAPSHOT</version>
    <!-- 排除依赖,不需要制定版本-->
    <exclusions>
        <exclusion>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
        </exclusion>
    </exclusions>
</dependency>

3.依赖范围

        依赖的jar包,默认情况下,可以在项目的任何地方使用。
        作用范围:
                主程序范围有效。(main文件夹范围内)
                测试程序范围有效。(test文件夹范围内)
                是否参与打包运行。(package指令范围内) 
        可以通过<scope>...</scope>设置其作用范围:
                 compile(默认):主程序、测试程序、打包(运行),例如:log4j
                 test:测试程序,例如:junit
                 provided:主程序、测试程序,例如:servlet-api
                 runtime:测试程序、打包(运行),例如:jdbc驱动

 

4.生命周期

    Maven的生命周期就是为了对所有的maven项目构建过程进行抽象和统 

    Maven中有3套相互独立的生命周期
        clean:清理工作。 
        
主要阶段: clean 移除上一次构建生成的文件

        default:核心工作,如:编译、测试、打包、安装、部署等。
        主要阶段:compile 编译项目源代码
                          test 使用合适的单元测试框架运行测试(junit)
                          package 将编译后的文件打包,如:jar、war等
                          install 安装项目到本地仓库

        site:生成报告、发布站点等。 (这一生命周期很少用到)

    Maven的包中已经加载了这些主要的阶段
        
        注意:
      
  在同一套生命周期中,当运行后面的阶段时,前面的阶段都会运行。想要跳过某个阶段可以
        选中某个阶段然后点击右侧上面的蓝色闪电图标,如下图: 

    执行指定生命周期的两种方式:
    在idea中,右侧的maven工具栏,选中对应的生命周期,双击执行。(常用)
    在命令行中,通过命令执行mvn clean、 mvn compile、mvn compile、mvn package、mvn test
    注意:要在项目文件夹中执行

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值