1.清理
代码语言:apl复制#将以前编译得到的旧的 class 字节码文件删除
mvn clean
2.编译
代码语言:apl复制#编译,将 Java 源程序编译成 class 字节码文件
mvn compile
3.测试
代码语言:apl复制#测试,并生成测试报告
mvn test
4.打包
代码语言:apl复制#打包,动态 web工程打 war包,Java工程打 jar 包
mvn pakage
5.安装到远程
代码语言:apl复制#将项目生成 jar 包放在仓库中,以便别的模块调用
mvn install
6.打包安装
代码语言:apl复制#打成jar包,并且抛弃测试用例打包
mvn clean install -Dmaven.test.skip=true
7.打包
代码语言:apl复制#动态 web工程打 war包,Java工程打 jar 包 ,并且抛弃测试用例打包
mvn clean pakage -Dmaven.test.skip=true
Maven 是一个项目管理和理解工具,它主要服务于基于 Java 的项目。Maven 主要关注于项目的构建、依赖管理和项目信息管理。它使用一个名为 POM(Project Object Model)的 XML 文件来描述项目的构建过程、依赖、插件等信息。
以下是 Maven 的一些核心概念和功能:
- 项目对象模型(POM):POM 是 Maven 项目的核心,它是一个 XML 文件,定义了项目的构建配置、依赖、插件、项目信息等。
- 依赖管理:Maven 通过 POM 文件管理项目的依赖,可以自动下载和安装所需的库。
- 构建生命周期:Maven 定义了一系列的阶段(如编译、测试、打包、部署等),这些阶段按顺序执行,形成了项目的构建生命周期。
- 插件:Maven 插件可以扩展 Maven 的功能,例如编译源代码、运行测试、生成文档等。
- 继承:Maven 允许项目继承另一个 POM 文件,这样可以在父 POM 中定义公共配置,子项目继承这些配置。
- 聚合:Maven 支持多模块项目,可以通过聚合构建多个子模块。
- 仓库管理:Maven 可以配置本地仓库和远程仓库,用于存储和管理项目的依赖。
- 依赖范围:Maven 允许定义依赖的范围(如 compile、test、provided 等),以控制依赖在不同构建阶段的可用性。
- 版本管理:Maven 可以管理项目的版本号,并且支持 SNAPSHOT 版本,用于持续集成和开发。
- 构建配置:Maven 允许在 POM 文件中配置构建参数,如编译器设置、资源文件、过滤器等。
- 属性:在 POM 文件中定义属性,可以在构建过程中重用。
- profiles:Maven 允许定义不同的构建配置文件(profiles),以适应不同的构建环境或需求。
- 命令行工具:Maven 提供了一个命令行工具,可以通过命令行执行构建和项目管理任务。
- IDE 集成:大多数 Java 开发环境(如 IntelliJ IDEA、Eclipse)都支持 Maven,可以方便地进行项目管理和构建。
- 中央仓库:Maven 中央仓库是一个包含了大量公共依赖的远程仓库,开发者可以方便地添加依赖到自己的项目中。
Maven 的目标是让 Java 项目的构建过程标准化,自动化,并且可以轻松地管理项目的依赖。通过 Maven,开发者可以专注于编码,而不是构建和依赖管理。