[学习笔记] Maven包管理工具之Maven的使用

# 学习 # · 2021-02-05

Maven简介

1、Maven是一个被广泛使用的项目构建工具,通过一个简单的配置文件pom.xml来定义项目的组成、管理项目所依赖的jar文件及项目的发布。

2、Maven的核心思想:约定大约配置。

3、Windows下Maven的安装:

(1)Maven下载地址:https://maven.apache.org/download.cgi

(2)配置环境变量MAVEN_HOME:

(3)运行CMD,运行命令mvn -v

(4)配置完成。

4、Maven配置文件settings.xml

(1)该配置文存在于全局范围和用户范围,两个目录都可以出现配置文件,最后取合并后的结果,如果存在重复定义,则当前用户目录的配置项优先生效。

(2)settings.xml配置文件的作用:使用仓库来管理jar文件的下载,分为本地仓库和远程仓库。

(3)配置一个本地仓库:

<localRepository>F:\Program Files\Maven\maven-repo</localRepository>

(4)配置一个远程仓库(使用阿里云镜像):

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

5、Maven配置文件pom.xml

(1)POM(Project Object Model)是Maven中的核心概念,每个Maven项目根目录下都必须有pom.xml文件。Maven会读取pom.xml获取项目的配置信息。pom.xml文件可以继承其他pom.xml的配置。

(2)pom.xml文件节点:

project:POM文件的顶级元素
modelVersion:POM模型版本,描述这个POM文件是遵循哪个POM版本
groupId:项目组织的唯一标识,通常由域名倒写,对应Java包的结构
artifactId:项目唯一标识,对应项目名称
version:artifact的版本,groupId、artifactId、version唯一确定一个artifact(生成物)
name:项目的展现名,在Maven生成的文档中使用
description:项目描述
dependencies:表示依赖,在子节点dependency中具体添加依赖的groudId、artifactId、version
build:构建选项
parent:父POM

6、mvn命令:

(1)创建Maven项目:mvn aechetype:generate

(2)编译源代码:mvn compile

(3)编译测试代码:mvn test-complite

(4)运行测试:mvn test

(5)打包:mvn package

(6)安装到本地仓库:mvn install


在IDEA中使用Maven

1、启动IDEA,创建一个Maven项目。

2、配置构建坐标。

3、配置相关信息。

4、Maven项目创建完成。

5、在build中配置resources,来防止资源导出失败的问题:

<build>
    <resources>
        <resource>
            <directory>src/main/resources</directory>
            <includes>
                <include>**/*.properties</include>
                <include>**/*.xml</include>
            </includes>
            <filtering>true</filtering>
        </resource>
        <resource>
            <directory>src/main/java</directory>
            <includes>
                <include>**/*.properties</include>
                <include>**/*.xml</include>
            </includes>
            <filtering>true</filtering>
        </resource>
    </resources>
</build>
如无特殊说明,本博所有文章均为博主原创。

如若转载,请注明出处:一木林多 - https://www.l5v.cn/archives/211/

评论