在Maven中,为什么要运行“ mvn clean”?

我想知道运行mvn compilemvn clean compile实际运行之间的主要区别是什么。

我知道实际的区别是什么,即mvn clean compile删除所有生成的文件并从头开始,但是为什么我们要这样做呢?我可以假设mvn

compile会在必要时重新生成文件,对吗?

我在项目中注意到的一件事是,如果您删除了源文件而不运行clean,则编译后的文件仍会保留,通常这不是问题,但我想是可以的。

回答:

某些插件需要使用clean才能正常工作。例如(至少在Maven 2中),将maven-war-

plugin每个从属WAR爆炸到现有的目录树中。它需要a clean摆脱从相关WAR中删除的文件。

另一个问题是,重命名类时,旧的编译版本会在生成树中徘徊,并且会包含在JAR文件等中,直到运行为止mvn clean

我可以假设“ mvn compile”将在必要时重新生成文件,对吗?

对于主流插件,这是一个合理的假设。但是,如果您使用的是插件来生成源代码组件,则请仔细阅读文档以及生成的源代码的放置位置。例如,有几个不受支持的插件,其目的是驱动Eclipse

EMF代码生成器。

以上是 在Maven中,为什么要运行“ mvn clean”? 的全部内容, 来源链接: utcz.com/qa/433645.html

回到顶部