是否有必要在mvn编译之前执行mvn clean?

时间:2018-04-11 07:21:23

标签: java maven

如果我想重新编译项目,我应该先执行mvn clean吗?

2 个答案:

答案 0 :(得分:1)

大部分时间都是,

当删除导致在目标目录中创建的内容的资源,类或任何内容时,必须进行清理,因为该项目在此之前不会被删除。

如果没有,生成的工件可能包含那些已删除的项目。

如果您只更新现有项目,那么大多数时候您可以绕过干净的

编辑:

对我上次的陈述要格外小心。即使更新也可能导致副作用而无需清洁。如果插件在其名称中生成带有哈希的项目会怎样?

@See In Maven, Why Run 'mvn clean'?了解更多问题,而不是没有干净的问题

答案 1 :(得分:1)

在大多数情况下,您可以跳过clean。但是你应该记住可能的副作用可能是由于"脏"目标目录。例如。

  • 你完全删除了一些类/文件,编译版本将存在于目标
  • 在现实生活中,在构建过程中经常使用外部插件,这也可以生成一些文件/报告等。从我的经验来看,插件开发人员并不关心处理" dirty"目标文件夹(我会做同样的:)),所以你可以在构建过程中遇到棘手的错误。

所以我强烈建议始终使用clean:

  • 在发布工件之前
  • 在编译/打包期间遇到意外行为/错误