mvn在maven中安装的是什么?
我刚开始使用Maven,并被告知要在特定的目录下进行mvn install
。
mvn install
到底是做什么的?
我认为它在当前文件夹中查找pom.xml
,并开始按照该文件中指定的说明进行操作。 那是对的吗?
正如你可能知道的那样,Maven是一个由Apache提供的构build自动化工具,它更依赖于pipe理。 我们可以把它作为Ant和Makefile的一个同伴,它将所有的依赖关系降到最低。
在mvn install
,它将基于super pom.xml
(根POM)下的所有子项目上的项目configurationpom.xml
一个依赖项树,并在您的系统的用户文件夹下下载/编译所有需要的组件一个名为.m2
的目录。 这些依赖关系将不得不解决的项目build设没有任何错误, mvn install
是一个实用工具,可能会降低大部分的依赖关系。
此外,还有像dependency:resolve
maven中的其他utils dependency:resolve
在任何特定情况下分开使用。 mvn的构build生命周期如下:
-
process-resources
-
compile
-
process-test-resources
-
test-compile
-
test
-
package
-
install
-
deploy
这个mvn的testing阶段可以通过使用一个标志-DskipTests=true
来忽略。
你看过任何的Maven文档,例如, Maven安装插件文档 ?
Nutshell版本:它将构build项目并将其安装在本地存储库中。
它将运行与默认生命周期的任何阶段相关的所有configuration插件的所有目标,直到“安装”阶段:
https://maven.apache.org/guides/introduction/introduction-to-the-lifecycle.html#Lifecycle_Reference
-DskipTests=true
是-DskipTests=true
的缩写forms
在.m2文件夹的Setting.xml中进行更改。 您可以使用链接到本地回购,以便曾经downlaoded的jar子不应该一次又一次地下载。
<url>file://C:/Users/admin/.m2/repository</url> </repository>
install:install
目标由“Apache Maven Install Plugin”提供:
Apache Maven安装插件
安装插件在安装阶段用于将工件添加到本地存储库。 Install Plugin使用POM(
groupId
,artifactId
,version
)中的信息来确定本地资源库中工件的正确位置。本地存储库是存储构build所需的所有工件的本地caching。 默认情况下,它位于用户的主目录(
~/.m2/repository
)中,但可以使用<localRepository>
元素在~/.m2/settings.xml
configuration该位置。– Apache Maven安装插件 – 介绍 。
话虽如此,确切的目标是:
install:install
用于自动安装项目的主要构件(JAR,WAR或EAR),其POM以及由特定项目生成的所有附加构件(源,javadoc等)。– Apache Maven安装插件 – 介绍 。
有关目标的更多详细信息,请参阅Apache Maven Install Plugin – 安装:安装页面。
有关构build生命周期的一般信息以及目标在构build生命周期的哪个位置的更多详细信息,请参阅Maven – “构build生命周期简介”页面。