mvn clean install和mvn install有什么区别?
当前回答
clean是Maven中它自己的构建生命周期阶段(可以认为是一个动作或任务)。mvn清洁安装告诉Maven在为每个模块运行安装阶段之前在每个模块中执行清洁阶段。
这样做的目的是清除所有已编译的文件,确保真正从头开始编译每个模块。
其他回答
@Andreas_D也是如此,此外,如果你在项目中说将Spring从一个版本更新到另一个版本而不做清理,那么你的工件中就会出现两个版本。在使用Maven进行Flex开发时,经常遇到这种情况。
clean是Maven中它自己的构建生命周期阶段(可以认为是一个动作或任务)。mvn清洁安装告诉Maven在为每个模块运行安装阶段之前在每个模块中执行清洁阶段。
这样做的目的是清除所有已编译的文件,确保真正从头开始编译每个模块。
Maven允许您在命令行上指定目标或生命周期阶段(或两者都指定)。
清理和安装是两个不同生命周期的两个不同阶段,它们绑定了不同的插件目标(在默认情况下或显式地在pom.xml中)
根据惯例,清洁阶段意味着使构建可重现,即它清除以前构建所创建的任何内容。在大多数情况下,它通过调用clean:clean来删除绑定到${project.build的目录。目录}(通常称为“目标”)
继续使用Maven术语:
“洁净”是一个阶段的洁净 生命周期 “安装”是一个阶段 缺省生命周期
http://maven.apache.org/guides/introduction/introduction-to-the-lifecycle.html#Lifecycle_Reference
您可以使用maven调用多个目标。MVN clean install首先调用clean,然后再调用install。必须手动清理,因为清理不是标准目标,不会在每次安装时自动执行。
Clean会删除目标文件夹——它会删除所有类文件、Java文档、jar文件、报告等等。如果您不清理,那么maven将只“做必须做的事情”,比如当相应的源文件没有更改时,它不会编译类(简单地说)。
我们在ant中称它为target,在maven中称它为goal
推荐文章
- 如何分割逗号分隔的字符串?
- Java字符串—查看字符串是否只包含数字而不包含字母
- Mockito.any()传递带有泛型的接口
- 在IntelliJ 10.5中运行测试时,出现“NoSuchMethodError: org.hamcrest. matcher . descripbemismatch”
- 使用String.split()和多个分隔符
- Java数组有最大大小吗?
- 在Android中将字符串转换为Uri
- 从JSON生成Java类?
- 为什么java.util.Set没有get(int index)?
- Swing和AWT的区别是什么?
- 为什么Java流是一次性的?
- 四舍五入BigDecimal *总是*有两位小数点后
- 设计模式:工厂vs工厂方法vs抽象工厂
- Java:检查enum是否包含给定的字符串?
- 它的意思是:序列化类没有声明一个静态的最终serialVersionUID字段?