maven的理解
maven
POM(Project Object Model,项目对象模型)是 Maven 的基本组件,它是以 xml 文件的形式存放在项目的根目录下,名称为 pom.xml。
POM 中定义了项目的基本信息,用于描述项目如何构建、声明项目依赖等等。
当 Maven 执行一个任务时,它会先查找当前项目的 POM 文件,读取所需的配置信息,然后执行任务。在 POM 中可以设置如下配置:
- 项目依赖
- 插件
- 目标
- 构建时的配置文件
- 版本
- 开发者
- 邮件列表
在创建 POM 之前,首先要确定工程组(groupId),及其名称(artifactId)和版本,在仓库中这些属性是项目的唯一标识。
POM 示例
- <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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
- <modelVersion>4.0.0</modelVersion>
- <groupId>net.biancheng.www</groupId>
- <artifactId>maven</artifactId>
- <version>0.0.1-SNAPSHOT</version>
- </project>
节点 | 描述 |
---|---|
groupId | 项目组 ID,定义当前 Maven 项目隶属的组织或公司,通常是唯一的。它的取值一般是项目所属公司或组织的网址或 URL 的反写,例如 net.biancheng.www。 |
artifactId | 项目 ID,通常是项目的名称。groupId 和 artifactId 一起定义了项目在仓库中的位置。 |
version | 项目版本。 |
Maven 提供了大量不同类型的 Archetype 模板,通过它们可以帮助用户快速的创建 Java 项目,其中最简单的模板就是 maven-archetype-quickstart,它只需要用户提供项目最基本的信息,就能生成项目的基本结构及 POM 文件。
创建 Maven 项目
下面我们将通过 maven-archetype-quickstart 原型,在 D:\maven 目录中创建一个基于 Maven 的 Java 项目。
打开命令行窗口,跳转到 D:\maven 目录,执行以下 mvn 命令。
- mvn archetype:generate -DgroupId=net.biancheng.www -DartifactId=helloMaven -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false
参数说明:
- -DgroupId: 项目组 ID,通常为组织名或公司网址的反写。
- -DartifactId: 项目名。
- -DarchetypeArtifactId: 指定 ArchetypeId,maven-archetype-quickstart 用于快速创建一个简单的 Maven 项目。
- -DinteractiveMode: 是否使用交互模式
- 目录及文件说明:
- helloMaven:项目名,包含 src 文件夹和 pom.xml。
- src/main/java:用于存放项目的 Java 文件。
- src/main/resources:用于存放项目资源文件。
- src/test/java:用于存放所有测试 Java 文件,如 JUnit 测试类。
- src/test/resources :用于存放测试资源文件。
- target:项目输出位置,用于存放编译后的文件。
- pom.xml:Maven 项目核心配置文件。
- 目录及文件说明:
-
构建项目
查看 helloMaven 项目的 pom.xml 文件,配置如下。- <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/maven-v4_0_0.xsd">
- <modelVersion>4.0.0</modelVersion>
- <groupId>net.biancheng.www</groupId>
- <artifactId>helloMaven</artifactId>
- <packaging>jar</packaging>
- <version>1.0-SNAPSHOT</version>
- <name>helloMaven</name>
- <url>http://maven.apache.org</url>
- <dependencies>
- <dependency>
- <groupId>junit</groupId>
- <artifactId>junit</artifactId>
- <version>3.8.1</version>
- <scope>test</scope>
- </dependency>
- </dependencies>
- </project>
- 从以上配置可知,Maven 已经添加了 Junit 作为该项目的测试框架,且 Maven 也在项目中自动生成了一个源码文件 App.java 和一个测试文件 AppTest.java 。
打开命令行窗口,跳转到 D:\maven\helloMaven 目录,执行以下 mvn 命令,对该项目进行构建。
- mvn clean package