Maven

Maven是项目管理的Java工具,JavaEE中使用Maven可以方便地管理团队合作项目,可使用Maven管理类库,有效地方便团队其它人员使用。

Maven是一个项目管理和整合工具,为开发者提供了一套完整的构建生命周期框架。能快速完成工程的基础架构配置,因为Maven使用了一个标准的目录结构和一个默认的构建生命周期。

Maven是基于项目对象模型(POM,Project Object Mode),通过一小段配置描述信息来管理项目的构建、报告、文档的软件项目管理工具。

简单来说,Maven是专门用于构建和管理项目的工具,帮助下载所需jar包,帮助管理项目结构,并实现项目的维护、打包等...

安装配置

$ java -version
java version "1.8.0_31"
Java(TM) SE Runtime Environment (build 1.8.0_31-b13)
Java HotSpot(TM) 64-Bit Server VM (build 25.31-b07, mixed mode)

Windows环境下下载bin.zip版本,解压后移动到自定义路径下。

配置环境变量

  • 系统环境变量:MAVEN_HOME
  • 环境变量值:%MAVEN_HOME%\bin

查看版本监测是否成功

$ mvn --version
Apache Maven 3.8.4 (9b656c72d54e5bacbed989b64718c159fe39b537)
Maven home: D:\Install\maven
Java version: 1.8.0_31, vendor: Oracle Corporation, runtime: D:\Install\Java\jdk1.8\jre
Default locale: zh_CN, platform encoding: GBK
OS name: "windows 8.1", version: "6.3", arch: "amd64", family: "windows"

配置仓库

Maven仓库可分为三种

  • 本地仓库:相当于缓存,工程第一次会从远程仓库下载jar包存放到本地,第二次不需要从远程仓库区下载,先会从仓库中寻找,如果找不到才会区远程仓库寻找。
  • 中央仓库:远程仓库,仓库中jar包由Maven团队统一维护
  • 自建仓库:远程仓库,公司内部架设私人服务器对外公开(私服)

Maven项目首先会从本地仓库中获取jar包,若不存在则会从远程仓库中去下载,并放入本地仓库以备使用。

仓库

Maven的作用在于只需要在pom.xml项目配置文件中添加对应配置,Maven就会自动的下载相应的jar包,配置的jar包的依赖文件也会被它自动下载下来。另外可直接通过Maven来打包warjar项目。

重置本地仓库地址

本地仓库位置通过Maven核心配置文件settings.xml来配置,settings.xml文件位于Maven安装目录下的conf文件夹下。

Maven安装目录下创建一个repository目录,在核心配置文件setting.xml中将仓库存放位置设置为自己设置的路径。

$ cd maven
$ mkdir repository
$ vim conf/setting.xml
<localRepository>D:\Install\maven\repository</localRepository>

配置阿里云私服地址,注意只可配置一个,若存在多个则需要注释,否则可能发生冲突导致jar包下载失败。

$ vim setting.xml

修改Maven源地址为阿里源http://maven.aliyun.com/nexus/content/groups/public

<mirrors>
    <mirror>
        <id>nexus-aliyun</id>
        <mirrorOf>*</mirrorOf>
        <name>Nexus aliyun</name>
        <url>http://maven.aliyun.com/nexus/content/groups/public</url>
    </mirror>
</mirrors>

检测是否已经安装成功

$ mvn help:system
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  52.465 s
[INFO] Finished at: 2022-01-25T00:46:14+08:00
[INFO] ------------------------------------------------------------------------

POM

POM是Project Object Model项目对象模型,是Maven工程的基本工作单元,是一个XML文件,包含了项目的基本信息,用于描述项目如何构建、声明项目依赖等。pom.xml是Maven的核心配置文件,用于描述整个Maven项目,又称为Maven描述文件。

$ vim 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>
    
    <groupId>com.ruoyi</groupId>
    <artifactId>ruoyi</artifactId>
    <version>3.8.0</version>

    <name>ruoyi</name>
    <url>http://www.ruoyi.vip</url>
    <description>若依管理系统</description>

    <packaging>pom</packaging>
</project>
标签描述
modelVersion指定当前Maven模型的版本号
groupId组织名称,由三部分组成,每部分以点号分割,分别是“项目用途.公司名称.项目名称”。
artifactIdMaven构建的项目名
version版本号
packing项目打包类型,默认为jar,可选择jarwarrarearpom
dependencies项目依赖的jar包被成为dependency
properties自定义的配置属性
build与构建相关的配置

Maven中groupIdartifactIdversion三个元素构成了一个Maven项目的基本坐标,可以唯一标识一个Maven项目。

<!-- SpringBoot的依赖配置-->
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-dependencies</artifactId>
    <version>2.5.6</version>
    <type>pom</type>
    <scope>import</scope>
</dependency>

目录结构

Maven基于“约定大于配置”的原则,定义了一个标准的目录结构。

文件描述
target/编译输出后代码存放位置
src/源代码存放位置
src/main/项目代码存放位置
src/test/测试代码存放位置
src/main/java/Java代码存放位置
src/main/resources/配置文件存放位置
webapp/Web应用代码存放位置
pom.xmlMaven项目的配置文件

MVN

命令描述
mvn compile编译,执行后会生成一个target文件夹,文件夹中是编译后的内容。
mvn clean清除编译后产生的target文件夹
mvn package将项目打包,默认为jar包。
mvn install将项目打成jar包后放入本地仓库
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值