Maven基本使用方法

2.Maven简介

  1. 在项目中如何导入jar包

image

  1. 传统导入jar包的方式存在什么问题?

image

  1. 项目生命周期:项目从编译到运行的整个过程。

    完整的生命周期:清理缓存——》校验——》编译——》测试——》打包——》安装——》部属

    • IDEA提供了一键构建项目的功能,但是如果我们需要自定义的生命周期管理,却没有现成的工具(清理缓存)

    • 4.Maven简介:

      Maven是一个基于项目对象模型(POM)用于进行项目的依赖管理、生命周期管理的工具软件

      核心功能:

      项目的依赖管理

​ 项目生命周期管理

​ 聚合工程

2.1 Maven安装及配置
2.1.1 下载

image

Maven下载官网链接:Maven – Welcome to Apache Maven

2.1.2 安装

Maven是基于Java语言进行开发的,因此依赖JDK(建议JDK1.7+)

开箱即用:直接解压即可

  • 解压(D:/Maven)

  • 目录结构

    bin存放指令文件(Maven提供了一个mvn指令)

    boot包含了一个类加载框架的jar文件

    conf 包含了Maven的核心配置文件settings.xml

    lib 存放了maven运行所需的jar文件

2.1.3 配置环境变量配置
  • MAVEN_HOME 😄:\Maven\apache-maven-3.8.4

  • Path 增加 %MAVEN_HOME%bin

  • 在CMd中输入mvn_Version 出现下图结果证明配置成功

image

2.2 Maven的项目结构

使用Maven进行项目还有一个好处:无论使用什么样的开发工具(eclipse/idea)项目的结构是统一的。

fmwy(项目名称)

---src

​ ---main(存放项目的源文件)

​ ---java (存放java代码,相当于传统项目中的src目录 )

​ ---resources (存放配置文件和静态资源的目录,相当于传统项目的web目录)

​ ---test (存放项目的单元测试代码)

​ ---java(测试代码)

---pom.xml

POM 指Project Object Model,Maven可以根据pom文件对此项目进行依赖管理;也就是说项目中需要依赖,直接在pom.xml进行配置即可。

在搜索引起中搜索mvn

image

image

image

image

pom.xml配置:

<?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>
    <!--指定项目的标识:G企业标识 A 项目标识 V 版本-->
    <groupId>com.qfedu</groupId>
    <artifactId>fmwy</artifactId>
    <version>1.0.0</version>
    <!-- 如果需要在当前项目中添加依赖,只需在pom.xml文件中进行依赖配置即可
配置依赖 找到依赖的坐标,添加dependencies标签中即可
-->
    <dependencies>
     

        
        
        
        
        
    </dependencies>
    
</project>

例如添加Mysql依赖

<dependencies>
    <!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java -->
<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <version>5.1.47</version>
</dependency>
     </dependencies>
2.3 依赖管理
2.3.1 Maven依赖管理的流程

image

2.3.2 Maven仓库介绍
  • 本地仓库 就是本地计算机上的某个文件夹(可以是自定义的任何文件夹)

  • 远程仓库 就是远程主机上的jar文件仓库

    • 中央仓库 maven官方提供的仓库,包含了所需的一切依赖(免配置)

    • 公共仓库 除了中央仓库以外的第三仓库都是公共仓库,例如aliyun

    • 私服 企业搭建的供内部使用的maven仓库。

      Maven仓库
      image

|

2.3.3 Maven仓库配置
  • 在maven_home/conf/settings.xml中进行配置

配置本地仓库

image

配置公共仓库 阿里云

image

2.4 项目生命周期管理
2.4.1 生命周期介绍

项目构建的声明周期:项目开发结束之后部属到运行环境运行的过程。

  • 清除缓存
  • 检查
  • 编译
  • 测试(就会执行maven项目中test目录下的单元测试)
  • 打包(war、jar)
  • 安装(jar会被安装到本地仓库
  • 部属/运行(将项目生成的包放到外部服务器中---私服)
2.4.2 生命周期管理指令

在项目的根目录下执行mvn指令,(此目录下必须包含pom.xml)

  • 清除缓存

    mvn clean
    
  • 检查

    mvn check
    
  • 编译

    mvn compile
    
  • 测试(就会执行maven项目中test目录下的单元测试)

    mvn test
    
  • 打包(war、jar)

    mvn package
    
  • 安装(jar会被安装到本地仓库)

    mvn install
    
  • 部属/运行(将项目生成的包放到服务器中)

mvn deploye
2.6 基于IDEA的Maven使用
2.6.1 在IDEA中关联Maven

| image
|
| -------------------------------------------------------- |
| image
|

说明:IDEA本身集成了Maven,考虑到IDEA和Maven版本的兼容性,idea不建议配置比默认版本更新的版本,建议使用idea自带的Maven。

2.6.2 使用IDEA创建Maven项目

(1)Java项目

| image
|
| -------------------------------------------------------- |
|image
|
|image
|
| |

(2)Web项目

  • 创建maven项目,步骤和建立java项目一样(再改造普通的Java项目为web项目)

  • 在POM.xml文件设置打包方式为war

    <?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>org.example</groupId>
        <artifactId>Demo01</artifactId>
        <version>1.0-SNAPSHOT</version>
        <!--设置项目打包方式为war-->
        <packaging>war</packaging>
        <properties>
            <maven.compiler.source>8</maven.compiler.source>
            <maven.compiler.target>8</maven.compiler.target>
        </properties>
    
    </project>
    
  • 完善项目结构

    image

  • 配置web组件(Tomcat)

image

image

image

  • 部属web项目

    image

image

image

image

image

2.6.3 在IDEA中使用Maven进行依赖管理
  1. 查找依赖坐标:Maven Repository: Search/Browse/Explore (mvnrepository.com)
  2. 添加依赖 :将依赖的坐标配置到项目的Pom.xml文件标签中。
  3. 依赖范围:在通过dependency添加依赖时,可以通过scope 标签配置当前依赖的使用范围。
    • test :只在项目测试阶段引入当前依赖(编译、测试)例如Junit
    • runtime:只在运行时使用(运行、测试运行)
    • provided: 在(编译、测试、运行)
    • complie: 在(编译、测试、运行、打包)都引入。
2.6.4 在IDEA中使用Maven进行项目构建
  • Maven项目构建生命周期说明

    • clean 清理缓存,清理项目生成的缓存
    • validate 校验,验证项目需要是正确的(项目信息、依赖)
    • compile 编译,编译项目专供的源代码
    • test 测试 运行项目中的单元测试(把鼠标放在类上,按a/t+insert会自动选择生成测试类)
    • package 打包 将项目编译后的代码打包成发布格式
    • verify 检查 对集成测试的结果进行检查、确保项目的质量是达标的
    • install 安装 将包安装到maven的本地仓库,以便在本地的其他项目中可以引用此项目(聚合工程)
    • deploy 部属 将包安装到私服的仓库,以供其他开发人员共享
  • IDEA进行生命周期管理

    • 可视化:

      image

    • 终端指令:选择项目名称---右键---Open in Terminal 在里面输入对应的指令 例:mvn clean

2.7 私服

企业搭建供内部使用的一个Maven仓库

  • 开发者需要依赖直接从私服下载
  • 私服可以实现企业内部依赖的共享:当企业开发了一个通用插件(jar),可以发布到私服,可以连接到当前私服的其他开发者就可以共享这个插件了。
2.7.1 私服搭建

我们可以通过专门的Maven仓库管理软件来搭建私服。例如:Apache Archiva、Nexus

  • 下载Nexus

image

  • 解压Nexus

image

  • 进入到D:\Maven\nexus-2.14.8-01\bin目录中
  • 管理员身份打开cmd命令行,执行指令

image

image

  • 私服中仓库类型

image

image

2.7.2 配置私服
  • 在maven的settings.xml文件的servers标签中

image

  • 在maven的settings.xml文件的profiles标签中

image

  • 在maven的settings.xml文件的activeProfiles配置激活profile

image

posted @   憨憨伟  阅读(792)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
点击右上角即可分享
微信分享提示