Maven何时使用clean over编译

时间:2018-11-28 17:13:07

标签: maven

运行mvn clean install

它将清理目标目录,编译并运行测试。

但是,除非明确说明,否则它不会运行任何清理选项?例如这不会清理目标目录

mvn install

因此,我经常清理干净以确保其始终新鲜。

如果我进行了代码更改,是否要检查新的代码更改是否需要始终进行清洁?

compile是默认生命周期的一部分,当我键入mvn install时,该生命周期会执行相同的操作吗?清洁的主要好处是什么?

2 个答案:

答案 0 :(得分:1)

clean目标将删除target/或您指定的其他任何位置的输出文件。

增量编译是Maven中的一件事-这就是为什么其他目标不会自动假定clean的原因-但通常认为它充其量是不可靠的。为了理智起见,最好始终clean工作区,以免发生奇怪的类冲突。

答案 1 :(得分:1)

清理命令清理目标(您的项目构建位置)。

install 命令生成软件包并将其放入您的Maven本地存储库中,这也是其他项目可以将您的项目用作Maven本地存储库中的库的原因。

compile 只是编译项目的源代码。

因此,如果您使用 mvn clean install ,它将首先清理您的构建目录,然后编译您的项目并使用已编译的文件构建目标目录,然后将其放入您的maven本地存储库中。因此,您可以将项目文件从maven本地存储库中用于其他项目。

mvn clean compile 将首先清理您的构建目录,然后编译您的项目并使用已编译的文件构建目标目录