在Java Maven项目中,clean
和 install
是两个常用的生命周期阶段(Lifecycle Phases),它们各自扮演着重要的角色。
Maven 生命周期
Maven的生命周期定义了项目的构建过程,从编译代码到打包,再到部署。每个生命周期阶段都依赖于前面的阶段。例如,package
阶段会先执行 compile
阶段。
Maven有三个主要的生命周期:
- clean 生命周期:用于清理项目。
- default(或 build)生命周期:用于构建项目,包括编译、测试、打包等。
- site 生命周期:用于生成项目站点文档。
clean 阶段
clean
是 clean
生命周期的唯一阶段,用于删除构建生成的文件。当你运行 mvn clean
命令时,Maven会删除 target
目录(以及任何自定义的 buildDirectory
),这个目录通常包含编译后的类文件、生成的JAR文件、测试报告等。
示例:
mvn clean
install 阶段
install
是 default
(或 build
)生命周期的一个阶段。在运行 install
阶段之前,Maven会依次执行 validate
、compile
、test
、package
等阶段。install
阶段会将打包好的工件(如JAR或WAR文件)安装到本地Maven仓库中。这意味着,一旦你运行了 mvn install
,其他Maven项目就可以通过依赖管理来使用这个工件。
示例:
mvn install
常见的组合使用
- 清理并安装:
如果你想要先清理项目,然后重新构建并安装到本地仓库,可以组合使用clean
和install
:
mvn clean install
- 仅编译并安装(不清理):
如果你确定不需要清理之前的构建文件,可以只运行install
:
mvn install
总结
mvn clean
:删除构建生成的文件,主要是target
目录。mvn install
:构建项目并安装生成的工件到本地Maven仓库。mvn clean install
:先清理项目,然后构建并安装到本地仓库。
这些命令是日常开发中使用Maven管理Java项目时非常基础且重要的部分。