maven中打包和安装命令的区别

153 阅读1分钟

这是一个关于maven中packageinstall 命令的区别的简短教程。

clean packageinstall是maven生命周期的目标阶段。

在此之前,先了解maven生命周期目标的执行顺序。

maven默认生命周期目标的执行顺序

  • validate:validate检查maven应用程序的所有有效信息。
  • compile:将源代码编译成类文件,即java到类文件,其中还包括测试类(java和测试文件夹java文件)。
  • test:运行位于src/main/test文件夹中的测试类。
  • package将编译后的源代码打包,输出为JAR、WAR、EAR文件。
  • verify:检查集成测试并验证其结果
  • install:将jar/war文件安装到本地资源库中,以便其他项目可以使用这些文件作为依赖。
  • deploy:将工件jar/war部署到远程仓库。

Maven清洁生命周期

  • pre-clean:在清理目标前执行验证
  • clean :删除位于 target文件夹中的先前构建文件
  • post-clean :在清洁目标后执行验证任务

mvn clean install和mvn clean package的区别?

clean 两个命令中的目标都是清理并删除之前的构建文件,它删除了maven项目的目标文件夹。

mvn clean package goal:该目标是根据pom模块打包项目并输出jar/war/ear文件。

如果你的pom.xml包含package=jar,它会创建jar包,如果是war包,它会生成war包。

goal运行以下目标的执行顺序

validate -> compile -> test -> package

maven clean install goal将工件安装到本地仓库,以便其他项目或应用程序可以将其作为依赖,并在其项目中使用。

下面是一个执行的顺序

validate -> compile -> test -> package -> verify - install

安装目标的执行是在打包目标之后