Maven(上):Maven介绍、安装配置及工程构建

本文详细介绍了Maven在Java项目中的关键角色,如依赖管理和构建自动化,包括Maven的安装、配置、依赖管理、IDEA集成,以及GAVP规则和构建生命周期。此外,还讨论了如何在IDEA中创建和管理Maven工程,以及常见构建命令和插件的使用。
摘要由CSDN通过智能技术生成

1. Maven介绍

Maven 是一款为 Java 项目管理构建、依赖管理的工具(软件),使用 Maven 可以自动化构建、测试、打包和发布项目,大大提高了开发效率和质量。

Maven就是一个软件,掌握安装、配置、以及基本功能 (项目构建、依赖管理) 的理解和使用即可!

  • 依赖管理:

    Maven 可以管理项目的依赖,包括自动下载所需依赖库、自动下载依赖需要的依赖并且保证版本没有冲突、依赖版本管理等。通过 Maven,我们可以方便地维护项目所依赖的外部库,避免版本冲突和转换错误等,而我们仅仅需要编写配置即可。

  • 构建管理:

    项目构建是指将源代码、配置文件、资源文件等转化为能够运行或部署的应用程序或库的过程

    Maven 可以管理项目的编译、测试、打包、部署等构建过程。通过实现标准的构建生命周期,Maven 可以确保每一个构建过程都遵循同样的规则和最佳实践。同时,Maven 的插件机制也使得开发者可以对构建过程进行扩展和定制。主动触发构建,只需要简单的命令操作即可。

2. Maven安装和配置

2.1 Maven安装

下载地址:https://maven.apache.org/docs/history.html

各个工具选用版本:

工具版本
Maven3.8.8
JDK17
IDEA2022.2

安装条件: maven需要本机安装java环境、必需包含java_home环境变量!

软件安装: 右键解压即可(绿色免安装)

软件结构:

bin:含有Maven的运行脚本

boot:含有plexus-classworlds类加载器框架

conf:含有Maven的核心配置文件

lib:含有Maven运行时所需要的Java类库

LICENSE、NOTICE、README.txt:针对Maven版本,第三方软件等简要介绍

2.2 Maven环境配置

  • 配置MAVEN_HOME

在这里插入图片描述

  • 配置path
    在这里插入图片描述
  • 测试配置是否成功
mvn -v 
# 如果输出版本信息说明配置成功

2.3 Maven环境配置

我们需要需改maven/conf/settings.xml配置文件,来修改maven的一些默认配置。我们主要休要修改的有三个配置:

1.依赖本地缓存位置(本地仓库位置)

2.maven下载镜像

3.maven选用编译项目的jdk版本

  • 配置本地仓库地址

      <!-- 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:\ProgramData\maven-repository</localRepository>
    
  • 配置国内阿里镜像

    <!--在mirrors节点(标签)下添加中央仓库镜像-->
    <mirror>
        <id>alimaven</id>
        <name>aliyun maven</name>
        <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
        <mirrorOf>central</mirrorOf>
    </mirror>
    
  • 配置jdk17版本项目构建

    <!--在profiles节点(标签)下添加jdk编译版本-->
    <profile>
        <id>jdk-17</id>
        <activation>
          <activeByDefault>true</activeByDefault>
          <jdk>17</jdk>
        </activation>
        <properties>
          <maven.compiler.source>17</maven.compiler.source>
          <maven.compiler.target>17</maven.compiler.target>
          <maven.compiler.compilerVersion>17</maven.compiler.compilerVersion>
        </properties>
    </profile>
    

2.4 IDEA配置本地Maven

将Maven home path 、User settings file、Local repository改为自己本地maven的路径即可。
在这里插入图片描述
注意

  • 如果本地仓库地址不变化,只有一个原因,就是maven/conf/settings.xml配置文件编写错误!仔细检查即可!

  • 一定保证User settings file对应之前修改的settings.xml的路径,若 不一致,选中Override复选框,手动选择配置文件

3. 基于IDEA创建Maven工程

3.1 Maven工程的GAVP

Maven工程相对之前的项目,多出一组gavp属性,gav需要我们在创建项目的时候指定,p有默认值。

Maven 中的 GAVP 是指 GroupId、ArtifactId、Version、Packaging 等四个属性的缩写,其中前三个是必要的,而 Packaging 属性为可选项。这四个属性主要为每个项目在maven仓库中做一个标识,类似人的姓名!有了具体标识,方便后期项目之间相互引用依赖等!

GAVP遵循一下规则:

  • GroupID 格式:com.{公司/BU }.业务线.[子业务线],最多 4 级。

    说明:{公司/BU} 例如:alibaba/taobao/tmall/aliexpress 等 BU 一级;子业务线可选。

    举例:com.taobao.tddl 或 com.alibaba.sourcing.multilang

  • ArtifactID 格式:产品线名-模块名。语义不重复不遗漏,先到仓库中心去查证一下。

    举例:tc-client / uic-api / tair-tool / bookstore

  • Version版本号格式推荐:主版本号.次版本号.修订号

    1) 主版本号:当做了不兼容的 API 修改,或者增加了能改变产品方向的新功能。

    2) 次版本号:当做了向下兼容的功能性新增(新增类、接口等)。

    3) 修订号:修复 bug,没有修改方法签名的功能加强,保持 API 兼容性。

    例如: 初始→1.0.0 修改bug → 1.0.1 功能调整 → 1.1.1等

  • Packaging定义规则:

    指示将项目打包为什么类型的文件,idea根据packaging值,识别maven项目类型!

    packaging 属性为 jar(默认值),代表普通的Java工程,打包以后是.jar结尾的文件。

    packaging 属性为 war,代表Java的web工程,打包以后.war结尾的文件。

    packaging 属性为 pom,代表不会打包,用来做继承的父工程。

3.2 Idea构建Maven Java SE工程

  • Name:maven工程名
  • Location:工程地址
  • Language:语言,选Java
  • Build system:构建工具,选maven
  • JDK:Java版本,我们选17
  • Groupid:安装上述规则制定
  • Artifactid:一般与工程名相同

在这里插入图片描述

创建工程之后,若第一次使用maven,或者使用的是新的本地仓库,idea右下角会出现进度条,表示maven正在下载相关插件,等待下载完毕,进度条消失即可。

验证maven工程是否创建成功,当创建完毕maven工程之后,idea中会自动打开Maven视图,如下图:

  • Lifecycle:maven工程的生命周期
  • Plugins:maven工程的相关插件
  • Dependencies:maven工程的相关依赖,这里因为我的项目目前还没有导入依赖,因此没有显示。

在这里插入图片描述

4. 基于IDEA进行Maven工程构建

4.1 构建概念

项目构建是指将源代码、依赖库和资源文件等转换成可执行或可部署的应用程序的过程,在这个过程中包括编译源代码、链接依赖库、打包和部署等多个步骤。

项目构建是软件开发过程中至关重要的一部分,它能够大大提高软件开发效率,使得开发人员能够更加专注于应用程序的开发和维护,而不必关心应用程序的构建细节。

同时,项目构建还能够将多个开发人员的代码汇合到一起,并能够自动化项目的构建和部署,大大降低了项目的出错风险和提高开发效率。常见的构建工具包括 Maven、Gradle、Ant 等。

4.2 命令行构建

命令描述
mvn compile编译项目,生成target文件
mvn package打包项目,生成jar或war文件
mvn clean清理编译或打包后的项目结构
mvn install打包后上传到maven本地仓库
mvn deploy只打包,上传到maven私服仓库
mvn site生成站点
mvn test执行测试源码

war包打包插件和jdk版本不匹配:pom.xml 添加以下代码即可

<build>
    <!-- jdk17 和 war包版本插件不匹配 -->
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-war-plugin</artifactId>
            <version>3.2.2</version>
        </plugin>
    </plugins>
</build>

例如:

#清理
mvn clean
#清理,并重新打包
mvn clean package
#执行测试代码
mvn test

4.3 基于IDEA构建

  • clean:清理
  • compile:编译
  • test:测试
  • package:打包
  • install:安装
  • deploy:部署

在这里插入图片描述
注意:打包(package)和安装(install)的区别是什么

打包是将工程打成jar或war文件,保存在target目录下

安装是将当前工程所生成的jar或war文件,安装到本地仓库,会按照坐标保存到指定位置。

4.4 构建插件、命令、生命周期命令之间关系

  • 构建生命周期

    当我们执行package命令也会自动执行compile命令!

    这种行为就是因为构建生命周期产生的!构建生命周期可以理解成是一组固定构建命令的有序集合,触发周期后的命令,会自动触发周期前的命令!!!

    构建周期作用:会简化构建过程

    例如:项目打包时,我们只是用package即可,前面的过程无需执行。

    主要两个构建生命周期:

    • 清理周期:主要是对项目编译生成文件进行清理

      包含命令:clean

    • 默认周期:定义了真正构件时所需要执行的所有步骤,它是生命周期中最核心的部分

      包含命令:compile - test - package - install - deploy

  • 插件、命令、周期三者关系(了解)

    周期→包含若干命令→包含若干插件

    使用周期命令构建,简化构建过程!

    最终进行构建的是插件!

  • 20
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Apache Maven 是一个基于 Java 技术的项目管理工具,能够管理以工程为中心的构建过程、依赖管理、项目信息管理等。下面是 Apache Maven 安装配置的步骤: STEP 1:下载 Maven 在官网 https://maven.apache.org/download.cgi 下载 Maven 的二进制文件。选择最新版本的 Maven 压缩包。 STEP 2: 解压缩 Maven 将下载的 Maven 压缩包解压缩到你想要的目录。可以使用以下命令: $ tar xvf apache-maven-3.3.9-bin.tar.gz STEP 3: 设置环境变量 打开命令行工具,通过在以下命令中输入您想要的安装路径,将以下环境变量添加到系统中: $ export M2_HOME=/usr/local/apache-maven-3.3.9 $ export M2=$M2_HOME/bin $ export PATH=$M2:$PATH STEP 4: 检验 Maven 安装 执行以下命令检验 Maven 是否正确安装: $ mvn --version 若出现 Maven 的版本信息说明安装成功。 STEP 5: 修改 Maven 配置文件 Maven配置文件 settings.xml 默认在 /usr/local/apache/maven-3.3.9/conf 文件夹下。可以在配置文件中设置默认的 Maven 仓库地址和镜像库等。例如: <mirrors> <mirror> <id>aliyunmaven</id> <mirrorOf>*</mirrorOf> <name>maven阿里云镜像</name> <url>http://maven.aliyun.com/nexus/content/groups/public/</url> </mirror> </mirrors> 以上就是 Apache Maven安装配置步骤,安装过程比较简单,只需要按照以上步骤执行即可。注意:Maven 需要 Java 环境才能正常运行,因此在安装 Maven 之前需要安装配置Java 环境。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值