maven的插件(命令)install介绍
- 背景
- 关于构建时使用的maven命令```install```
- maven其他插件/命令的使用
背景
今天在引入SpringCloudAlibaba时,pom.xml中的dependency报错了
到本地仓库去验证
验证无误,找原因
现象:
在maven仓库中可以找到spring-cloud-dependencies对应的依赖;但是,找不到spring-cloud-alibaba-dependencies对应的依赖
所以,这就是原因了!spring-cloud-alibaba-dependencies在maven仓库中压根就没有,自然也就无法下载了,也就找不到对应的pom了。
-
那么,如果获取到spring-cloud-alibaba-dependencies呢?
参考:如何构建SpringCloudAlibaba项目
构建完成之后,本地仓库就有了对应的依赖,项目中就不会报错了:
关于构建时使用的maven命令install
注:install的官方称呼为 插件
基本介绍
The Install Plugin is used during the install phase to add artifact(s) to the local repository. The Install Plugin
uses the information in the POM (groupId, artifactId, version) to determine the proper location for the artifact
within the local repository.
install插件会根据项目中POM中的信息(groupId、artifactId、version进行定位)将项目(artifact)添加/安装到本地仓库。
The local repository is the local cache where all artifacts needed for the build are
stored. By default, it is located within the user's home directory
(~/.m2/repository) but the location can be configured in ~/.m2/settings.xml using
the <localRepository> element.
本地仓库相当于就是构建项目时需要的依赖的一个本地缓存的存储的地方。默认目录是`(~/.m2/repository),但是也可以在maven的配置文件settings.xml中的元素<localRepository>中进行配置。
install的3个目标或者3种用法
install:install
常规用法。自动将项目安装为JAR / WAR或者EAR,以及项目的POM或者项目的其他附属源码、文档等。
···install:install-file```
将外部的artifact安装到本地仓库。安装信息(groupId, artifactId, version)可以配置在pom文件中, **也可以在执行命令时写在命令行!**如下:
mvn install:install-file -Dfile=your-artifact-1.0.jar \
[-DpomFile=your-pom.xml] \
[-Dsources=src.jar] \
[-Djavadoc=apidocs.jar] \
[-DgroupId=org.some.group] \
[-DartifactId=your-artifact] \
[-Dversion=1.0] \
[-Dpackaging=jar] \
[-Dclassifier=sources] \
[-DgeneratePom=true] \
[-DcreateChecksum=true]
以上摘自:https://maven.apache.org/plugins/maven-install-plugin/
场景: 项目中需要一个3方的一个依赖,但是maven仓库又没有对应的依赖。只能从网上下载到对应的一个 .jar文件。这时,就需要通过插件(命令)install:install-file手动将这个 .jar文件安装到本地仓库,然后在项目中的pom.xml文件,将刚才添加的依赖引入进去。
install:help
帮助信息
具体用法
install:install
In most cases, install:install goal doesn't need any configuration, it needs the
project's POM and the artifact file to be installed during the install phase of the
default build lifecycle.
大多数情况下,install不需要任何参数,只需要项目的POM以及需要安装的artifact。切换到pom.xml所在目录,执行以下命令即可:
mvn install
示例:
如何构建SpringCloudAlibaba项目
install:install-file
The install:install-file goal is used primarily for installing artifacts to the
local repository which were not built by Maven. The project's development team may
or may not provide a POM for the artifact. Here's a list of some of the available
parameters for the install-file goal:
install:install-file命令主要用户安装有非maven构建成的artifact(工程/项目),这种artifact可能提供了pom文件也可能没有,如果没有!也没关系,在执行命令时,将相应的信息写到命令行,如下所示:
mvn install:install-file -Dfile=your-artifact-1.0.jar \
[-DpomFile=your-pom.xml] \
[-Dsources=src.jar] \
[-Djavadoc=apidocs.jar] \
[-DgroupId=org.some.group] \
[-DartifactId=your-artifact] \
[-Dversion=1.0] \
[-Dpackaging=jar] \
[-Dclassifier=sources] \
[-DgeneratePom=true] \
[-DcreateChecksum=true]
maven其他插件/命令的使用
官网!!!
https://maven.apache.org/plugins/index.html