“ mvn全新安装”与“ mvn安装”有何不同?


Answers:


214

clean是Maven中自己的构建生命周期阶段(可以认为是操作或任务)。mvn clean install告诉Maven clean在每个模块运行install阶段之前执行每个模块中的阶段。

这将清除您拥有的所有编译文件,并确保您确实从头开始编译每个模块。


13
我一直认为包括清洁在内的安装是其中的一个阶段...直到我看到这一点
Junchen Liu

14
@shanyangqu可悲的是,没有。 clean在一个单独的生命周期中,因此默认情况下不会调用它。
Powerlord

47

Maven允许您在命令行(或两者)上指定目标或生命周期阶段。

clean并且install两个不同的生命周期阶段不同的插件执行绑定到该阶段(默认情况下或在pom.xml中显式

根据clean约定,该阶段旨在使构建可复制,即清除由先前构建创建的所有内容。在大多数情况下,它通过调用来做到这一点clean:clean,这会删除绑定到的目录${project.build.directory}(通常称为“目标”)


6
“安装”不是生命周期。这是默认生命周期中的一个阶段。尽管存在“干净”生命周期,但AFAIK此参数指定“干净”生命周期中的“干净”阶段,而不是“干净”生命周期本身。
深褐色

1
@Puce是的,我的意思是“阶段”,而不是生命周期
肖恩·帕特里克·弗洛伊德

38

您可以使用Maven 调用多个目标。先mvn clean install呼叫clean,然后再呼叫install。您必须手动清理,因为清理不是标准目标目标,并且不会在每次安装时自动执行。

clean删除目标文件夹-删除所有类文件,java文档,jar,报告等。如果您不这样做clean,那么maven只会“做必须做的事情”,就像当相应的源文件没有更改时(简而言之)它不会编译类。

我们称之为目标蚂蚁和目标,在行家


1
我认为在这种情况下,清洁和安装是生命周期阶段,而不是目标。
JL_SO


4

与@Andreas_D相同,此外,如果您说不做任何清理就将Spring从一个版本更新到项目中的另一个版本,那么您会在工件中同时看到这两个版本。使用Maven进行Flex开发时,经常会遇到这种情况。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.