Maven 教程

Maven 笔记

original icon
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.knowledgedict.com/tutorial/maven-wrapper.html

maven wrapper 介绍及使用详解


Maven Wrapper 顾名思义是 Maven 的绿色包装包;安装 Maven 时,默认情况下,系统所有项目都会使用全局安装的这个 Maven 版本。但某些项目需要使用某个特定的 Maven 版本,这时,就可以使用 Maven Wrapper,它独立于全局的 Maven。

安装

安装 Maven Wrapper 前提是已经全局安装了一个 Maven,最简单的方式是在项目的根目录(即 pom.xml 所在的目录)下运行如下命令:

mvn wrapper:wrapper

如上命令安装的 maven wrapper 版本和全局的 Maven 版本一致,当然也可以指定特定的 maven 版本,如下安装命令:

mvn wrapper:wrapper -Dmaven=3.5.4

目录结构

项目里安装完 maven wrapper 之后,目录结构如下:

my-project
├── .mvn
│   └── wrapper
│       ├── maven-wrapper.jar
│       └── maven-wrapper.properties
├── mvnw
├── mvnw.cmd
├── ...
├── ...
├── ...
├── pom.xml
└── src
    ├── main
    │   ├── java
    │   └── resources
    └── test
        ├── java
        └── resources

你会发现多了如下几个目录及文件:

  • .mvn:这是存放 maven wrapper 相关 jar 包及一些配置信息的文件,它们放在 wrapper 目录下;
    • maven-wrapper.jar:其实是 maven 可执行的 jar 包;
    • maven-wrapper.properties:maven 发布及版本等配置信息文件。
  • mvnw:Linux 系统下的 mvn 脚本文件;
  • mvnw.cmd:Windows 系统下的 mvn 脚本文件。

编译打包命令

由于是绿色包装包,执行命令需要在相对路径下运行。

在项目根目录,Linux 或 macOS 下运行时需要加上 ./

./mvnw clean compile

打包命令如下:

./mvnw clean package

其实使用全局 maven 命令时的 mvn 命令,在项目根目录下,替换成 ./mvnw 即可,其余命令选项及参数都相同。

结合 idea 使用

我们知道当使用 idea 开发 maven 项目时,右侧工具栏里会出现 maven 可视化工具操作界面,默认使用全局的 maven,为了和项目的 maven wrapper 一致,需要修改配置,具体在 idea 的偏好配置(PreferencesSettings),再进一步路径如下:

Build, Execution, Deployment -> Build Tools -> Maven

Maven 配置项的首页,将 Maven home path: 对应配置从 Bundled (Maven 3) 改为 Use Maven wrapper,即适配项目里的 maven wrapper 版本的工具栏(使用 .mvn/wrapper/maven-wrapper.properties 配置里的版本)。

Lombok(ProjectLombok)是一个用于Java编程语言的开源库,旨在减少Java代码中的冗余和样板代码,提高开发人员的生产力。 ...
Lombok是一个Java库,它可以通过注解来简化Java代码的编写,减少样板代码的数量,提高代码的可读性和维护性。步骤3:配置IDE支持L ...
Maven 是由 java 语言编写的软件项目管理及自动构建工具,并由 apache 软件基金会维护。它基于项目对象模型(pom,proje ...
首先需要知道,Maven 在编译项目时使用一套 classpath;依赖范围就是用来控制与三种 classpath(编译 classpath ...
Nginx 是由1994年毕业于俄罗斯国立莫斯科鲍曼技术大学的 Igor Sysoeyv 为俄罗斯访问量居首的 rambler.ru 站点设 ...