Maven安装与配置

13 篇文章 0 订阅

Maven

一、学习目标

掌握Maven中的常用操作
会在IDEA中使用Maven构建项目

二、初识Maven

Maven简介

  • Maven是Apache基金会下一个跨平台的项目管理工具

  • 服务于Java项目的构建、项目信息管理和依赖管理,Maven 项目对象模型(POM),可以通过一小段描述信息来管理项目的构建。

  • 官网地址:https://maven.apache.org/index.html

  • 中央仓库地址:https://mvnrepository.com/

在这里插入图片描述

Maven的作用

  1. 创建项目
  2. 引入依赖的jar文件
  3. 打包发布项目
三、Maven的仓库

Maven的仓库

  • 本地仓库
  • 远程仓库
    • 中央仓库
    • 其他公共仓库、代理 / 镜像仓库
    • 私服

在这里插入图片描述

仓库优先级:

  • 本地 → 私服 → 其他公共仓库 → 中央仓库
四、Maven的安装

1.环境要求

  • Windows或CentOS 6.5
  • JDK 7及以上版本

2.下载Maven

  1. 下载最新版本的Maven:http://maven.apache.org/download.cgi
  2. 更多Maven版本:https://archive.apache.org/dist/maven/maven-3/
  3. 选择Maven 3.8.1版
    • Windows版:apache-maven-3.8.1-bin.zip
    • Linux版:apache-maven-3.8.1-bin.tar.gz

3.解压下载的压缩包

五、Maven的配置
1.配置环境变量
  • Windows版

    • 1.设置环境变量:MAVEN_HOME 用于指向Maven的安装目录

    在这里插入图片描述

    • 2.编辑Path变量:添加 %MAVEN_HOME%\bin

      在这里插入图片描述

  • Linux版

    #1.编辑/etc/profile
    vim /etc/profile
    
    #2.添加环境变量
    export MAVEN_HOME=Maven的安装目录
    export PATH=${MAVEN_HOME}/bin:$PATH
    
    #3.使新增的环境变量生效
    source /etc/profile
    
2.验证是否安装正确
  • 在CMD或终端窗口查看Maven的版本

  • 输入命令"mvn -version"

    在这里插入图片描述

3.编辑settings.xml文件
  • Maven的核心配置文件,定义Maven的全局环境信息
  • 位置:Maven安装目录/conf/settings.xml
4.修改本地仓库位置
  • 默认位置:${user.home}/.m2/repository

  •  <!-- localRepository
       | The path to the local repository maven will use to store artifacts.
       |
       | Default: ${user.home}/.m2/repository
      <localRepository>/path/to/local/repo</localRepository>-->
    <localRepository>D:\ACCP\maven\maven-repository</localRepository>
    
5.配置远程仓库
  • 配置默认使用中央仓库

     <!--阿里巴巴镜像源-->
    <mirror>
         <id>aliyunmaven</id>
         <mirrorOf>*</mirrorOf>
         <name>阿里云公共仓库</name>
         <url>https://maven.aliyun.com/repository/public</url>
    </mirror>
    
六、在IDEA中配置Maven

在IDEA中打开系统设置(Settings)如下图所示按步骤进行配置:

在这里插入图片描述

七、在IDEA中构建Maven项目

在IDEA2020中创建Maven项目

  1. Module类型选择

    在这里插入图片描述

  2. 设置项目的Maven坐标

    在这里插入图片描述

  1. 设置Maven项目的属性

    在这里插入图片描述

Maven项目的标准目录结构

在这里插入图片描述

src目录:

  • /main

    • /java:存放Java源代码

    • /resources:存放资源文件

    • /webapp:web项目根目录

  • /test

    • /java:存放测试用例代码
    • /resources:存放测试相关资源文件
    • /target:编译构建的输出目录

经验

Maven构建项目的本质,其实是使用了**mvn archetype:generate**命令。

该命令执行时,需要指定一个archetype-catalog.xml文件, 此文件的获取方式有三种,分别为:remote、internal和local,默认情况下为remote,即从 http://repo1.maven.org/maven2/archetype-catalog.xml路径下载。 下载速度非常慢,容易导致系统卡住。

为了提高Maven项目的构建速度,一般需要再Properties中添加一项配置:archetypeCatalog = internal

在这里插入图片描述

八、POM文件

pom文件定义了一个项目所需要的所有信息

节点含义
projectPOM文件的顶级元素
modelVersionPOM模型版本,描述这个POM文件是遵循哪个POM版本
groupId项目组织的唯一标识,通常由域名倒写,如com.company,对应Java包的结构
artifactId项目唯一标识,对应项目名称
versionartifact(生成物)的版本,如1.0.0-SNAPSHOT、1.0.0-RELEASE,1.0.0表示版本号,SNAPSHOT表示快照版,RELEASE表示发行版 groupId、artifactId、version唯一确定一个artifact
name项目的展现名,在Maven生成的文档中使用
url项目主页的URL,在Maven生成的文档中使用
description项目的描述,在Maven生成的文档中使用
packaging项目的打包方式,一般为 jar 或者 war
节点含义
parent指定父依赖,类似Java中的继承,当前项目可继承父依赖中配置的依赖和属性 需要指定父依赖的groupId、artifactId、version和relativePath
dependencies定义此项目的依赖关系集,在子节点dependency中添加具体的依赖
dependencydependencies的子节点,配置具体的依赖,需要指定具体依赖的groupId、artifactId、version,以及一些扩展配置 scope:compile、provided、runtime、test、system optional:false / true exclusions + exclusion:屏蔽对指定groupId+artifactId的传递依赖
properties定义一些常量,可在pom文件的其他地方引用
build构建选项,描述如何编译和打包项目,具体工作通过plugin完成:maven-clean-plugin、maven-resources-plugin、 maven-compiler-plugin、maven-surefire-plugin、 maven-war-plugin 或 maven-jar-plugin、maven-install-plugin、maven-deploy-plugin
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>com.aiden</groupId>
  <artifactId>StudyMaven</artifactId>
  <version>1.0-SNAPSHOT</version>
  <packaging>war</packaging>

  <name>StudyMaven Maven Webapp</name>
  <!-- FIXME change it to the project's website -->
  <url>http://www.example.com</url>

  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <maven.compiler.source>1.7</maven.compiler.source>
    <maven.compiler.target>1.7</maven.compiler.target>
  </properties>

  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>4.11</version>
      <scope>test</scope>
    </dependency>
  </dependencies>

  <build>
    <finalName>StudyMaven</finalName>
    <pluginManagement><!-- lock down plugins versions to avoid using Maven defaults (may be moved to parent pom) -->
      <plugins>
        <plugin>
          <artifactId>maven-clean-plugin</artifactId>
          <version>3.1.0</version>
        </plugin>
        <!-- see http://maven.apache.org/ref/current/maven-core/default-bindings.html#Plugin_bindings_for_war_packaging -->
        <plugin>
          <artifactId>maven-resources-plugin</artifactId>
          <version>3.0.2</version>
        </plugin>
        <plugin>
          <artifactId>maven-compiler-plugin</artifactId>
          <version>3.8.0</version>
        </plugin>
        <plugin>
          <artifactId>maven-surefire-plugin</artifactId>
          <version>2.22.1</version>
        </plugin>
        <plugin>
          <artifactId>maven-war-plugin</artifactId>
          <version>3.2.2</version>
        </plugin>
        <plugin>
          <artifactId>maven-install-plugin</artifactId>
          <version>2.5.2</version>
        </plugin>
        <plugin>
          <artifactId>maven-deploy-plugin</artifactId>
          <version>2.8.2</version>
        </plugin>
      </plugins>
    </pluginManagement>
  </build>
</project>
九、IDEA中的Maven常用操作

通过菜单View->Tool Windows->Maven,打开Maven操作的界面

在这里插入图片描述

功能描述:

  1. clean: 清除项目编译后的文件
  2. validate: 验证工程是否正确、所有需要的资源是否可用。可 以验证pom.xml文件的正确性
  3. compile: 编译项目
  4. test: 执行项目中的测试用例
  5. package: 将项目打包
  6. verify: 运行任何检查,验证包是否有效且达到质量标准
  7. install: 将项目打包进本地仓库
  8. site: 生成项目的网页形式的文档
  9. deploy: 将项目打包发布到远程仓库

扩展功能命令

序号命令功能
1mvn archetype:generate创建Maven项目
2mvn compile编译源代码
3mvn test-compile编译测试代码
4mvn test运行测试
5mvn package打包
6mvn install安装到本地仓库
十、本章总结

在这里插入图片描述

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

众生云海,一念初见

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值