我想知道运行mvn编译和mvn clean编译之间的主要区别是什么,实际上.
我理解实际的区别是,mvn clean编译删除了所有生成的文件并从头开始,但为什么我们要这样做呢?我可以假设mvn compile会在必要时重新生成文件,对吧?
我在项目中注意到的一件事是,如果你删除了一个源文件而没有运行干净,那么编译后的文件仍然存在,这通常不会成为问题,但我想可能就是这样.
解决方法:
某些插件需要清洁才能正常工作.例如(至少在Maven 2中),maven-war-plugin将每个依赖WAR分解为现有目录树.它需要一个干净的去掉已从依赖WAR中删除的文件.
另一个问题是,当您重命名一个类时,旧的编译版本可以在构建树中挂起,并将包含在JAR文件中,等等……直到您运行mvn clean.
I can assume “mvn compile” will regenerate files if it’s necessary, right?
对于主流插件,这是一个公平的假设.但是,如果您使用插件生成源代码组件,我会仔细查看文档以及放置生成的源代码的位置.例如,有一些不受支持的插件,其目的是驱动Eclipse EMF代码生成器.
标签:java,maven
来源: https://codeday.me/bug/20190925/1817665.html