mvn清洁包和mvn清洁安装之间到底有什么区别?当我运行这两个命令时,它们似乎都在做同样的事情。
当前回答
clean所做的(在这两个命令中都常见)-删除由前一个构建生成的所有文件
谈到命令包和安装之间的区别,首先需要了解maven项目的生命周期
这些是maven中的默认生命周期阶段
validate - validate the project is correct and all necessary information is available compile - compile the source code of the project test - test the compiled source code using a suitable unit testing framework. These tests should not require the code be packaged or deployed package - take the compiled code and package it in its distributable format, such as a JAR. verify - run any checks on results of integration tests to ensure quality criteria are met install - install the package into the local repository, for use as a dependency in other projects locally deploy - done in the build environment, copies the final package to the remote repository for sharing with other developers and projects.
Maven的工作原理是,如果您为任何生命周期阶段运行命令,它将在执行命令本身之前按顺序执行每个默认的生命周期阶段。
执行顺序
验证>> compile >> test(可选)>> package >> verify >> install >> deploy
因此,当您运行命令mvn package时,它将运行所有生命周期阶段的命令,直到package
验证>>编译>> test(可选)>>包
至于mvn install,它运行所有生命周期阶段的命令,直到安装,其中包括包
验证>> compile >> test(可选)>> package >> verify >> install
因此,实际上它的意思是,安装命令完成包命令所做的所有事情,甚至更多(将包安装到本地存储库中,以便在本地其他项目中作为依赖项使用)
来源:Maven生命周期参考
其他回答
包和安装是maven构建生命周期中的不同阶段。打包阶段将在此之前执行所有阶段&它将停止将项目打包为一个jar。类似地,安装阶段将执行之前的所有阶段,最后在本地为其他相关项目安装项目。
要了解maven构建生命周期,请访问以下链接https://ayolajayamaha.blogspot.in/2014/05/difference-between-mvn-clean-install.html
package将添加jar或war到你的目标文件夹,我们可以检查它,我们清空目标文件夹(使用mvn clean),然后运行mvn package。 Install会做package所做的所有事情,此外,它还会在本地存储库中添加打包的jar或war。我们可以通过检查您的。m2文件夹来确认。
clean所做的(在这两个命令中都常见)-删除由前一个构建生成的所有文件
谈到命令包和安装之间的区别,首先需要了解maven项目的生命周期
这些是maven中的默认生命周期阶段
validate - validate the project is correct and all necessary information is available compile - compile the source code of the project test - test the compiled source code using a suitable unit testing framework. These tests should not require the code be packaged or deployed package - take the compiled code and package it in its distributable format, such as a JAR. verify - run any checks on results of integration tests to ensure quality criteria are met install - install the package into the local repository, for use as a dependency in other projects locally deploy - done in the build environment, copies the final package to the remote repository for sharing with other developers and projects.
Maven的工作原理是,如果您为任何生命周期阶段运行命令,它将在执行命令本身之前按顺序执行每个默认的生命周期阶段。
执行顺序
验证>> compile >> test(可选)>> package >> verify >> install >> deploy
因此,当您运行命令mvn package时,它将运行所有生命周期阶段的命令,直到package
验证>>编译>> test(可选)>>包
至于mvn install,它运行所有生命周期阶段的命令,直到安装,其中包括包
验证>> compile >> test(可选)>> package >> verify >> install
因此,实际上它的意思是,安装命令完成包命令所做的所有事情,甚至更多(将包安装到本地存储库中,以便在本地其他项目中作为依赖项使用)
来源:Maven生命周期参考
两者都能清洁。这意味着它们将删除目标文件夹。真正的问题是package和install之间的区别是什么?
Package将编译您的代码并打包它。例如,如果您的pom说该项目是一个jar,那么当您打包它并将其放在目标目录中的某个位置时(默认情况下),它将为您创建一个jar。
Install将编译和打包,但它也将把包放在本地存储库中。这将使其他项目可以引用它,并从本地存储库中获取它。
文档
包将生成Jar/war作为每个POM文件。 Install会将生成的jar文件安装到本地存储库,用于其他依赖项。
安装阶段是在包阶段之后
推荐文章
- Java中枚举的命名:单数还是复数?
- JavaBean和POJO之间的区别是什么?
- 注释在Java中如何使用,在哪里使用?
- 如何在Ubuntu下安装JDK 11 ?
- Spring Boot -无法确定数据库类型为NONE的嵌入式数据库驱动程序类
- 如何转换/解析从字符串到字符在java?
- Java编译器级别与安装的Java项目facet的版本不匹配
- 如何在Android中动态更改菜单项文本
- 如何比较两个没有时间部分的日期?
- 如何在Java中找到给定类的所有子类?
- 匿名类的访问构造函数
- 从Java访问Kotlin扩展函数
- 解析LocalDateTime时无法从TemporalAccessor获取LocalDateTime (Java 8)
- 以AM/PM的12小时格式显示当前时间
- 求两个集合的差值