Maven项目管理 -超快速拿捏

本文详细介绍了Maven的核心特性,包括项目结构标准化、依赖管理和插件机制。讲解了Maven的安装、配置、创建工程及依赖管理,如镜像仓库的设置。此外,还阐述了Maven的构建生命周期和常用插件,以及pom.xml文件的配置。通过本文,读者将掌握Maven的基础操作和在开发中的应用。
摘要由CSDN通过智能技术生成


交个朋友

  ◆ 标准化了 java的工程结构。
  ◆ 大家都在用 标准的工程结构 来做项目。别人接手的化话也能看懂。🏊
  ◆ 让 Java 进入标准性 的时代。
  ◆ 翻译过来 专家 ,在java领域 标准化的 工程管理工具。
  ◆ Apache基金会的顶级开源项目,Maven对项目的管理方式,已成为业界的标杆。


一、第一部分:入门基操


一、Maven的核心特性

    ◆ 一 、项目设置遵循统一的规则,保证不同开发环境的兼容性
       例:eclipse里的项目 可以迁移 至 IDEA 中
    ◆ 二 、强大的依赖管理,项目依赖组件 自动下载、自动更新
    ◆ 三 、可扩展的插件机制,使用简单,功能丰富

二、Maven 安装

 1、安装

    ◆ 一 、找到Maven下载地址   阿帕奇 官网

在这里插入图片描述

    ◆ 二、进入下载页面 查看Maven的系统要求, 选择合适的版本 点击下载

在这里插入图片描述

     ◆ 下载完成后 进行解压缩 可以选择解压出的Maven文件夹 把它放在想放的磁盘中

在这里插入图片描述

 2、Maven 文件夹信息

在这里插入图片描述

三、初始化配置 Maven 和 绑定IDEA

 1、初始化配置 Maven

    ◆ 一、进入 Maven的bin目录下 复制绝对路径,添加环境变量 就像配置JDK一样
在这里插入图片描述

在这里插入图片描述

     ◆然后新建 赋值路径

在这里插入图片描述
     ◆ 配置好 之后可以检测一下 打开CMD 面板(电脑任务栏里搜索CMD) 之后任意路径下输入 mvn -v 回车 会显示如下
在这里插入图片描述

 2、绑定IDEA

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
     ◆ 以上几个简单步骤 IDEA就绑定好Maven了

四、创建 Maven 工程

     ◆ 打开IDEA 选择Maven 工程
在这里插入图片描述
在这里插入图片描述
     ◆ 点击完成后 ,第一次进入Maven 会自动从阿帕奇的数据中心下载一些插件
在这里插入图片描述

 1、标准的Maven 工程 包含哪些结构

在这里插入图片描述

     ◆ 如果运行 会自动生成 target 目录
在这里插入图片描述

七、Maven 依赖管理

   ◆ Maven 利用 dependency(依赖) 自动下载、管理第三方jar
   ◆ 在pom.xml文件中配置项目依赖的第三方组件
   ◆ Mavne会自动将依赖从 中央仓库 下载至 本地仓库,并在工程中引用
     配置如下:👇👇👇

<dependency>	依赖
		下面三项 就是Maven的以来坐标系了
	<groupid></groupid>	 机构或者团体的英文
	<artifacatid></artifacatid> 项目名称
	<version></version>	版本号
</dependency>

   ◆如何知道 厂商叫什么 组件的名字 版本号?
      该网址可以查询:https://search.maven.org/
在这里插入图片描述
      找到 对应的依赖以后 可以直接赋值 Maven坐标系 到pom.xml配置文件中。

例如:

在这里插入图片描述
然后 点击下载
在这里插入图片描述
可以看到左侧新加入的jar包
在这里插入图片描述

  1、镜像仓库

    ◆因为中央仓库在国外,所以有的时候下载会很满。这个时候可以在依赖上方加入镜像仓库

例如:阿里云Maven镜像仓库
在这里插入图片描述
  找到public 公开的 然后复制 阿里云仓库地址
  然后 设置 pom.xml 配置文件

<repositories>	仓库
	<repository>
		<id>aliyun</id>这个仓库的唯一标识
		<name>aliyun</name>     此项和上面一项 可以自由填写 URL 不可以
		<url>https://maven.aliyun.com/repository/public</url>
	</repository>
</repositories>

这样配置好 以后,在pom.xml 文件中 再添加 以来坐标系 会优先从 设置的镜像仓库下载。如果没有才会远程下载。

  2、本地仓库 和 中央仓库

    ◆ 本质:在pom.xml 文件中 增加 dependency(依赖)

在这里插入图片描述

    ◆本地仓库目录 => .m2 目录
在这里插入图片描述

    ◆如果要修改 .m2目录 的 路径 如下操作:在工程找到设置、搜索Maven、修改路径
在这里插入图片描述

  3、 如果要在下载 依赖时,同时下载 依赖的源代码、java的文档、注解

在这里插入图片描述


第二部分:Maven 开发中 的使用

一、Maven构建生命周期

  ◆像人一样,什么阶段做什么事
  ◆Maven 有7个阶段

阶段命令用途
1、validate验证项目是否正确且所有信息是否可用
2、compile源代码编译并生成在target
3、test运行test目录下的测试代码 验证src下源代码的逻辑
4、package生成产出物jar、war文件
5、verify验证 上一个阶段产出物是否有效
6、install安装打包的项目到本地仓库,以供其他项目使用
7、deploy拷贝最终的工程包到远程仓库中,以共享给其他开发人员

  ◆上面的命令 其实是说 如果项目不在 IDEA中 怎么打包发布项目

    1、cmd进入终端 在进入项目文件夹 输入mvn compile进行编译
    2、 输入mvn package进行打包
  ◆ 如果在IDEA中
在这里插入图片描述

二、Maven 插件

  ◆为项目提供了功能扩展的能力

  例如:maven-assembly-plugin第三方 Maven打包插件,用于构建FatJar
   FatJar 是将所有依赖 包装为独立运行的Jar

如果下载插件过慢 可以使用 插件仓库 
<pluginRepositories>
        <pluginRepository>
            <id>...</id>
            <name>...</name>
            <url>...</url>
        </pluginRepository>
</pluginRepositories>


用于说明Maven 构建的方式是怎么样的
<build>  
        <plugins>所有插件的父标签
            <plugin>
                <groupId>...</groupId>
                <artifactId>...</artifactId>
                <version>...</version>
                <configuration> 配置的意思
                      <archive>如果需要 设置程序入口 下面的标签
                          <manifest>
                              <mainClass>com.xxx.xxxx.Test</mainClass>
                          </manifest>
                      </archive>
                    FatJar插件
                    <descriptorRefs>引用的描述
                        <descriptorRef>jar-with-dependencies</descriptorRef>固定写死。代表在打包时所有依赖合并到 输出到jar文件中
                    </descriptorRefs>
                </configuration>
            </plugin>
        </plugins>
    </build>
</build>

    如果配置成 会出现新的命令:
在这里插入图片描述

三、pom.xml文件 的概述

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" 根节点 用于描述 Maven 工程
         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>	工程模型的版本 Maven 3.0.x版本的统一要求 工程模型版本4.0.0

	当前 开发的 Maven工程 的坐标系 用于在本地仓库发布的时候 进行 存储 和定位
    <groupId>org.example</groupId>
    <artifactId>testWeb-serlet</artifactId>
    <version>1.0-SNAPSHOT</version>

		Maven 的属性
     <properties>
        <maven.compiler.source>8</maven.compiler.source>
        <maven.compiler.target>8</maven.compiler.target>
    </properties>

		阿里云镜像仓库
	<repositories>
        <repository>
            <id>aliyun</id>
            <name>aliyun</name>
            <url>https://maven.aliyun.com/repository/public</url>
        </repository>
    </repositories>
	
	阿里云Maven 插件 仓库
	<pluginRepositories>
        <pluginRepository>
            <id>aliyun</id>
            <name>aliyun</name>
            <url>https://maven.aliyun.com/repository/public</url>
        </pluginRepository>
    </pluginRepositories>
    
    依赖部分
    <dependencies>
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>javax.servlet-api</artifactId>
            <version>3.1.0</version>
        </dependency>
    </dependencies>
    
	与插件相关的设置选项
	<build> 
		···
		···
		···
	</build> 
	
</project>

四、Maven 属性

  ◆放置在< properties >标签中的配置项就是 Maven的属性

pom.xml 中的说明性配置
	<properties>	说明当前的工程构建时 (Maven在编译读取源码时) 源码的字符集编码采用UTF-8
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <maven.compiler.source>8</maven.compiler.source>jdk源代码语法检查时 按jdk8的规则 检查
        <maven.compiler.target>8</maven.compiler.target>在编译生成字节码的时候 采用8 这个编译级别 编译
    </properties>

  ◆Maven的属性 可以为 依赖 提供服务

  例如:项目中管理 依赖的版本号
   1、在< properties >标签中 写入自定义属性 => <依赖名.version> 版本号 </依赖名.version>
   2、在相关依赖的 < version > 标签中 写入 => < version > ${依赖名.version} < /version >


总结

  初衷:自我学习和站内的朋友学习交流。码字不易🐌,如果对您有所帮助不妨点个赞赞吧💖💖💖~

       我爱你 ~  今天想告诉你个秘密,一觉醒来以为是自己长高了,原来是被子盖横了…😷😷😷


                   🙏愿: 宇宙的尽头没有 应用程序服务器。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值