在Maven中,为什么要运行“ mvn clean”?
我想知道运行mvn compile
与mvn 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