Maven

maven是一个项目管理工具,用于构建java项目

安装

(1)下载

官网:https://maven.apache.org/

如果JDK是1.8,建议使用apache-maven-3.3.5-bin版本

(2)配置环境变量

添加MAVEN_HOME=C:\Users\gmbjzg\software\apache-maven-3.3.5-bin

path配置

%MAVEN_HOME/bin%

(3)测试是否安装成功

  1. mvn -v

配置

配置文件

Maven安装教程 - 图1

(1)配置本地仓库

Settings标签下

  1. <localRepository>C:\Users\gmbjzg\software\apache-maven-3.5.3\repo</localRepository>

(2)配置镜像仓库

mirrors标签下

  1. <mirror>
  2. <id>nexus-aliyun</id>
  3. <mirrorOf>central</mirrorOf>
  4. <name>Nexus aliyun</name>
  5. <url>http://maven.aliyun.com/nexus/content/groups/public</url>
  6. </mirror>

(3)JDK版本配置

profiles标签下

  1. <profile>
  2. <id>jdk-1.8</id>
  3. <activation>
  4. <activeByDefault>true</activeByDefault>
  5. <jdk>1.8</jdk>
  6. </activation>
  7. <properties>
  8. <maven.compiler.source>1.8</maven.compiler.source>
  9. <maven.compiler.target>1.8</maven.compiler.target>
  10. <maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion>
  11. </properties>
  12. </profile>

IDEA配置

配置当前项目

File —> Setting —>搜索maven

Maven安装教程 - 图2

配置新项目

Maven安装教程 - 图3

第一个maven项目

使用IDEA创建第一个maven项目

FIile —> new project —> maven

文件目录结构

Maven安装教程 - 图4

pom.xml

maven配置文件

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <project xmlns="http://maven.apache.org/POM/4.0.0"
  3. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  4. xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  5. <modelVersion>4.0.0</modelVersion>
  6. <groupId>org.example</groupId>
  7. <artifactId>maven</artifactId>
  8. <version>1.0-SNAPSHOT</version>
  9. <properties>
  10. <maven.compiler.source>8</maven.compiler.source>
  11. <maven.compiler.target>8</maven.compiler.target>
  12. </properties>
  13. <dependencies>
  14. <dependency>
  15. <groupId>junit</groupId>
  16. <artifactId>junit</artifactId>
  17. <version>4.12</version>
  18. </dependency>
  19. </dependencies>
  20. </project>

依赖导入

示例

  1. <dependencies>
  2. <dependency>
  3. <groupId>junit</groupId>
  4. <artifactId>junit</artifactId>
  5. <version>4.12</version>
  6. </dependency>
  7. </dependencies>

指令

clean

清除上一次编译生成的target文件夹

validate

验证对文件是否有执行权限

compile

编译项目

test

执行src/test/java路径下所有测试方法

package

将项目打包成一个jar

verify

验证jar包是否合法

install

将编译生成的jar包安装到本地仓库

坐标

maven通过坐标可以唯一准确定位到一个jar

示例如下

  1. <dependency>
  2. <groupId>junit</groupId>
  3. <artifactId>junit</artifactId>
  4. <version>${maven.junit.version}</version>
  5. <scope>test</scope>
  6. </dependency>

groupId

组织ID,通常为公司域名反转

artifactId

应用名

version

版本号

scope作用域

scope作用域

Maven安装教程 - 图5

compile

在编译和测试中都生效(默认配置)

test

只在测试中生效

provided

在编译时生效,运行时不生效

runtime

编译时失效,运行时生效

如何解决jar包依赖冲突问题

手动解决

指定不导入那个jar

示例如下

Maven安装教程 - 图6

版本统一管理

示例如下

Maven安装教程 - 图7