Maven
Maven是管理Java项目根据,apache旗下一个东西
- 当前市场上的主流是Maven
1. Maven的基本概念
构建生命周期: Maven通过一组预定义的构建生命周期来管理项目的构建过程。最常用的生命周期有三个:
- clean: 清理项目的输出目录。
- default: 执行项目的构建过程,包括编译、测试、打包等。
site: 生成项目的文档。
每个生命周期由多个阶段组成,Maven会按照一定的顺序执行这些阶段。
插件和目标: Maven通过插件来扩展功能,每个插件包含若干个目标(goals)。比如,编译Java代码的插件是
maven-compiler-plugin,它的目标是compile。依赖管理: Maven使用POM文件(
pom.xml)来管理项目的依赖、构建配置等信息。每个依赖都由以下几部分定义:- Group ID: 依赖所属的组。
- Artifact ID: 依赖的唯一标识符。
- Version: 依赖的版本。
- 仓库: Maven通过仓库来存储和获取依赖项。可以是本地仓库、中央仓库或私有仓库。
2. Maven的优点
- 方便快捷的依赖管理
在正常情况下我们要引入jar包需要在主目录下新建一个lib文件,在lib文件内引入下载好的jar包,使用Maven管理后只需要在pom.xml文件内配置对应信息即可让项目自动下载
1 | <dependencies> |
自动配置好了commons-io, 直接可以更换版本等,很方便
标准化的跨平台的项目操作
统一的项目结构
Eclipse和idea之间的项目不是互通的,但是使用Maven之后,不管用什么工具都可以共享
Maven是一个强大的构建工具,主要用于Java项目的构建、依赖管理、项目管理等。它简化了开发过程,尤其是在处理复杂的项目时。下面是对Maven的一些核心概念和使用的详细讲解:
3. POM文件详解
pom.xml是Maven项目的核心配置文件。它包含了项目的所有信息,如项目版本、依赖、插件等。一个典型的pom.xml文件结构如下:
1 | <project xmlns="http://maven.apache.org/POM/4.0.0" |
Maven的工作原理和配置方法非常强大,通过正确配置pom.xml和使用适当的插件,你可以大大简化构建过程,提高开发效率。
4. Maven 坐标
- 坐标是资源jar的唯一标识
- 主要组成
- groupId: 定义隶属组织名称
- artifactId: 定义Maven项目名称
- version: 定义当前版本号
- SNAPSHOT: 功能不稳定
- RELEASE: 功能趋于稳定,可以发行(如果没写那就是这个)
5. Maven导入
- 方式一: File -> Project Structure -> Modules -> Import Module -> 选择maven项目的pom.xml
- 方式二: maven面板 -> +(Add Maven Project) -> 选择maven的pom.xml
注意,导入的时候建议是先导入到自己的目录下,然后选择xml进行导入
6. Maven使用
安装Maven: 你可以通过官网下载Maven的二进制文件,然后配置环境变量(
MAVEN_HOME和PATH)以便在命令行使用。初始化Maven项目: 使用以下命令创建一个新的Maven项目:
1
2mvn archetype:generate -DgroupId=com.example -DartifactId=my-app -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false
这会生成一个包含
pom.xml和默认目录结构(如src/main/java)的Java项目。管理依赖: 在
pom.xml文件中定义项目的依赖。示例如下:
使用dependencies, 引入坐标, 如果不知道依赖的坐标信息,可以去MVN坐标搜索中搜索1
2
3
4
5
6
7<dependencies>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>3.12.0</version>
</dependency>
</dependencies>- 排除依赖: 指主动断开资源
1
2
3
4
5
6<exclusions>
<exclusion>
<groupId>排除依赖内的不需要资源</groupId>
<artifactId>具体东西</artifactId>
</exclusion>
</exclusions>
- 排除依赖: 指主动断开资源
一旦配置依赖发送改变,记得去刷新, 如果引入依赖本地仓库不存在,记得连网
6. Maven的生命周期
生命周期包含三个
- clean
- clean
- default
- compile
- test
- packet
- install
- site
在同一套项目中,运行后面的项目的时候,前面的项目都会运行(注意同一套哈)
7. Maven常用命令
mvn clean: 清理项目,删除target目录。mvn compile: 编译项目。mvn test: 运行单元测试。mvn package: 打包项目,生成可执行的JAR或WAR文件。mvn install: 将项目安装到本地仓库。mvn deploy: 将项目部署到远程仓库。
可以使用命令行,也可以直接点击Maven栏目内对应按钮(lifecycle, 底层调用Plugen中的插件)
