mvn在maven中安装的是什么

Raj*_*war 156 java pom.xml maven

我刚开始使用Maven,我被告知要mvn install在特定的目录中进行操作.

到底mvn install做了什么?

我认为它pom.xml在当前文件夹中查找并开始按照该文件中指定的说明进行操作.那是对的吗?

uni*_*ish 113

您可能已经意识到,Maven是Apache提供的构建自动化工具,它不仅仅是依赖项管理.我们可以将它作为Ant和Makefile的对等体,它可以下载所需的所有依赖项.

在a上mvn install,它pom.xml根据超级pom.xml(根POM)下的所有子项目上的项目配置构建依赖关系树,并下载/编译.m2在用户文件夹下调用的目录中的所有所需组件.必须解决这些依赖项才能构建没有任何错误的项目,并且mvn install是一个可以下载大多数依赖项的实用程序.

此外,Maven中还有其他工具dependency:resolve,可以在任何特定情况下单独使用.mvn的构建生命周期如下:

  1. process-resources
  2. compile
  3. process-test-resources
  4. test-compile
  5. test
  6. package
  7. install
  8. deploy

使用标志可以忽略此mvn的测试阶段-DskipTests=true.

  • 请注意,如果您想跳过所有与测试相关的目标,请使用:-Dmaven.test.skip = true(而不是-DskipTests = true) (8认同)
  • 这个答案未能澄清安装命令最终在本地“安装”工件,即在本地存储库中。 (7认同)

Dav*_*ton 32

您是否看过任何Maven文档,例如maven安装插件文档

Nutshell版本:它将构建项目并将其安装在本地存储库中.

  • 有没有*你看过Maven的规范文件?Apache的网站解释了mvn install的目的:"在大多数情况下,安装:安装目标不需要任何配置,它需要在默认构建生命周期的安装阶段安装项目的POM和工件文件." 这是因为Apache的doc无法解释'mvn install'究竟是什么让人们喜欢这张海报,而我自己也在寻找答案.完全合理的问题. (14认同)

Puc*_*uce 8

它将运行与默认生命周期的任何阶段关联的所有已配置插件的所有目标,直到"安装"阶段:

https://maven.apache.org/guides/introduction/introduction-to-the-lifecycle.html#Lifecycle_Reference


Dan*_*ník 7

简答

安装

  • pom 中指定的所有工件(依赖项)添加到本地 存储库(来自远程源)。


Ser*_*nov 5

install:install目标由《 Apache Maven安装插件》提供:

Apache Maven安装插件

在安装阶段使用安装插件将工件添加到本地存储库。安装插件使用的信息在POM( ,groupIdartifactId),version以确定当地的仓库里的神器的适当位置。

本地存储库是本地缓存,用于存储构建所需的所有工件。默认情况下,它位于用户的主目录(~/.m2/repository)中,但是可以~/.m2/settings.xml使用<localRepository>元素配置该位置。

Apache Maven安装插件-简介

话虽如此,确切的目标目的是:

install:install 用于自动安装项目的主要工件(JAR,WAR或EAR),其POM以及特定项目产生的任何附加工件(源代码,javadoc等)。

Apache Maven安装插件-简介

有关目标的更多详细信息,请参阅Apache Maven安装插件-install:install页面。

有关一般构建生命周期以及目标在构建生命周期中所处位置的其他详细信息,请参阅Maven –“构建生命周期简介”页面。