【问题标题】:Is it necessary to execute mvn clean before mvn compile? [duplicate]在 mvn compile 之前是否需要执行 mvn clean ? [复制]
【发布时间】:2018-04-11 07:21:23
【问题描述】:

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

【问题讨论】:

  • 理论上不会。在实践中,通常是的。
  • @OliverCharlesworth 我看到很多mvn clean compile,为什么?
  • 不,但我建议干净
  • 只需 mvn package 就可以了...通常不需要清理...只有非常罕见的情况...
  • 进行干净的构建和不干净的构建。你注意到有什么不同吗?可能差异是如此之小,以至于您甚至都没有注意到它。在 Maven 中从头开始构建只是一个好主意。增量构建通常是您在 IDE 中执行的操作。

标签: java maven


【解决方案1】:

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

  • 您完全删除了一些类/文件,编译后的版本将存在于目标中
  • 在实际项目中,在构建过程中经常使用外部插件,这也可以生成一些文件/报告/等。根据我的经验,插件开发人员不太关心处理“脏”目标文件夹的情况(我也会这样做:)),因此您可能会在构建过程中遇到棘手的错误。

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

  • 发布工件之前
  • 当您在编译/打包过程中遇到一些意外行为/错误时

【讨论】:

    【解决方案2】:

    大多数时候是的,

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

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

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

    编辑:

    请特别注意我的最后一句话。即使是更新也可能导致副作用而不清理。如果插件生成名称中带有哈希的项目怎么办?

    @请参阅 In Maven, Why Run 'mvn clean'? 了解更多问题,而不是清理

    【讨论】:

      猜你喜欢
      • 2015-11-16
      • 1970-01-01
      • 2020-03-23
      • 2014-02-02
      • 1970-01-01
      • 1970-01-01
      • 2012-05-05
      • 2021-07-23
      • 2021-04-23
      相关资源
      最近更新 更多