-->

MVN安装或MVN包(Mvn install or Mvn package)

2019-07-22 04:26发布

我是新来的Maven,我有我的MyEclipse的配置Maven的一个基于Java的Web项目。
现在,如果我修改任何Java文件,然后做我需要做的Run as -> Mvn installMvn package

Answer 1:

从http://maven.apache.org/guides/getting-started/maven-in-five-minutes.html

package :取编译的代码,并在其分发格式打包,诸如JAR。

install :包本地安装到本地仓库,用作其他项目的依赖

所以回答你的问题是,它取决于你是否希望它安装到本地回购。 安装,因为它在目标相叠加上涨也将运行包。



Answer 2:

mvn install是最常用的选项。
mvn package很少使用,只有当你调试与Maven构建过程中的一些问题。

请参阅: http://maven.apache.org/guides/introduction/introduction-to-the-lifecycle.html

需要注意的是mvn package只会造成一个jar文件。
mvn install会做到这一点如果其他代码依赖于这些罐子在适当的地方安装jar(和类等)的文件。

我通常做一个mvn clean install ; 这将删除target目录中并重新创建所有罐子在该位置。
清洁有助于不必要的或删除的东西,可以在路上有时会。
而不是调试(某些时候)刚开始的新鲜,所有的时间。



Answer 3:

从生命周期参考 , 安装将运行项目的集成测试, 封装不会。

如果你真的需要不安装生成的工件,至少使用验证



Answer 4:

你还应该注意的是,如果你的项目是由若干个模块,这些模块都依赖于对方,你应该使用“安装”,而不是“包”,否则您的构建会失败,因为当你使用安装命令,模块A将被打包并部署到本地储存库,然后,如果模块B需要模块A作为依赖,它可以从本地资源库访问它。



Answer 5:

如果你使用远程仓库(如artifactory的),使用普通的老: mvn clean install

很老的话题,但据我所知,如果您有自己的仓库(如:与artifactory的),分享你的团队(S)之间的罐子,你可能想使用

mvn clean deploy

代替。

这样一来,你的持续集成服务器可以肯定的是所有依赖正确推送到远程仓库。 如果你错过了,MVN将无法找到它到你的CI当地平方米仓库。



Answer 6:

包 - 使编译的代码,并在其分发格式打包,诸如JAR或WAR文件。 安装 - 包本地安装到本地仓库,用作其他项目的依赖



Answer 7:

正确的方法是mvn package ,如果你做了正确的事情为你构建的核心部分,那么应该没有必要安装你的包在本地仓库。

此外,如果您使用特拉维斯可以“缓存”你的依赖,因为它不会碰你的$HOME.m2/repository ,如果您使用包你自己的项目。

在实用性,如果你甚至试图做一个mvn site通常需要做mvn install之前。 有的只是由于太多的错误site或它的众多保养不善插件。



Answer 8:

这取决于你想改变Java文件后达到的目标。 直到你要测试的行家过程中,你永远不需要做任何事情。 日食/ MyEclipse的将建立什么是必要的,将输出在你的项目中的适当位置。 您还可以运行或部署它(如果它是一个web项目,例如),没有你需要显式地做任何事情行家。 最后,安装在Maven仓库你的项目,你需要做一个maven安装。 您还可能有要执行其他Maven目标,这MyEclipse中不会自动做。

正如我说的,这取决于你想要做什么。



文章来源: Mvn install or Mvn package