例如:创建项目工程test-maven
test-maven/
|—/src
|------/main #放你主程序java代码和配置文件
|----------/java #你的程序包和包中的java文件
|----------/resources #你的java程序中要使用的配置文件
|------/test #放测试程序代码和文件的(可以没有)
|----------/java #测试程序包和包中的java文件
|----------/resources #测试java程序中要使用的配置文件
|—/pom.xml #maven的核心文件(maven项目必须有)


| 属性名 | 属性含义 |
|---|---|
| groupId | 组织 id,一般是公司域名的倒写。 格式可以为 com.baid |
| artifactId | 项目名称,也是模块名称。 |
| version | 项目版本号 |
| packaging | 项目打包的类型,可以使 jar、war、rar、ear、pom,默认是 jar |
| dependencies 和dependency | Maven 的一个重要作用就是管理 jar 包,为了一个项目可以构建或运行,项目中不可避免的,会依赖很多其他的 jar 包,在 Maven 中,这些 jar 就被称为依赖,使用标签 dependency 来配置。 |
| properties | properties 是 用 来 定 义 一 些 配 置 属 性 的 , 例 如project.build.sourceEncoding(项目构建源码编码方式),可以设置为UTF-8,防止中文乱码,也可定义相关构建版本号,便于日后统一升级。 |
| build | build 表示与构建相关的配置,例如设置编译插件的 jdk 版本 |
| parent【了解】 | 在 Maven 中,如果多个模块都需要声明相同的配置,例如:groupId、version、有相同的依赖、或者相同的组件配置等,也有类似 Java 的继承机制,用 parent 声明要继承的父工程的 pom 配置。 |
| modules【了解】 | 在 Maven 的多模块开发中,为了统一构建整个项目的所有模块,可以提供一个额外的模块,该模块打包方式为 pom,并且在其中使用 modules 聚合的其它模块,这样通过本模块就可以一键自动识别模块间的依赖关系来构建所有模块,叫 Maven 的聚合。 |
示例:
<groupId>com.lclgroupId>
<artifactId>ch03-maven-webartifactId>
<version>1.0-SNAPSHOTversion>
<packaging>warpackaging>
<name>ch03-maven-web Maven Webappname>
<url>http://www.example.comurl>
<properties>
<project.build.sourceEncoding>UTF-8project.build.sourceEncoding>
<maven.compiler.source>1.8maven.compiler.source>
<maven.compiler.target>1.8maven.compiler.target>
properties>
<dependencies>
<dependency>
<groupId>junitgroupId>
<artifactId>junitartifactId>
<version>4.11version>
<scope>testscope>
dependency>
dependencies>
声明周期
对项目的构建是建立在生命周期模型上的,它明确定义项目生命周期各个阶段,并且对于每一个阶段提供相对应的命令,对开发者而言仅仅需要掌握一小堆的命令就可以完成项目各个阶段的构建工作。
构建项目时按照生命周期顺序构建,每一个阶段都有特定的插件来完成。不论现在要执行生命周期中的哪个阶段,都是从这个生命周期的最初阶段开始的。
对于我们程序员而言,无论我们要进行哪个阶段的构建,直接执行相应的命令即可,无需担心它前边阶段是否构建,Maven 都会自动构建。这也就是 Maven 这种自动化构建工具给我们带来的好处。
maven命令【了解,不需要记忆】




新建项目名


出现下方内容表示创建成功

模板目录是不够的,需要做出修改:

修改后如下:

到这里基于maven的项目就创建成功了