背景
Maven 默认会从云端(即远程仓库)下载所需的依赖包。当在 pom.xml 文件中声明了项目的依赖项,并运行 Maven 构建命令(如 mvn clean install)时,如果本地仓库(默认位于用户主目录下的 .m2/repository 文件夹)中不存在这些依赖项,Maven 会自动尝试从配置的远程仓库中下载它们。
将本地依赖安装到本地仓库
【前提条件】
本地有需要安装的、依赖的 JAR 文件
【操作概述】
将JAR文件安装到 Maven 的本地仓库中,以便 Maven 能够识别并使用它,使用 mvn install:install-file 命令可以将本地JAR包安装到本地仓库。
【安装命令】
mvn install:install-file -Dfile="D:/lion/lion-cpedu-api/1.0.2/lion-cpedu-api-1.0.2.jar" -DpomFile="D:/lion/lion-cpedu-api/1.0.2/lion-cpedu-api-1.0.2.pom" -DgroupId="com.lion" -DartifactId="lion-cpedu-api" -Dversion="1.0.2" -Dpackaging="jar"
【命令解析】
- Dfile: 指定你要安装的 JAR 文件的路径。
- DpomFile:描述这个依赖的元信息(metadata)
- DartifactId:项目名或模块名
- DgroupId:组织或公司名称,通常使用反向域名
- Dversion:版本号
- Dpackaging: 通常为 jar,除非你的依赖是其他类型的打包格式。
【其他问题】
注意:Dfile、DpomFile、DartifactId、DgroupId、Dversion、Dpackaging等对应的值,必须要使用""
包裹住,否则会报错,比如的错误:
错误的命令:
mvn install:install-file -Dfile=D:/Maven/repository/com/lion/lion-cpedu-api/1.0.2/lion-cpedu-api-1.0.2.jar -DpomFile="D:/lion/lion-cpedu-api/1.0.2/lion-cpedu-api-1.0.2.pom" -DgroupId=com.lion -DartifactId=lion-cpedu-api -Dversion=1.0.2 -Dpackaging=jar
报错的提示:
[ERROR] Unknown lifecycle phase “”. You must specify a valid lifecycle phase or a goal in the format : or :[:]:. Available lifecycle phases are: pr
e-clean, clean, post-clean, validate, initialize, generate-sources, process-sources, generate-resources, process-resources, compile, process-classes, generate-test-sources, process-test-sources, generate-test-resources, process-
test-resources, test-compile, process-test-classes, test, prepare-package, package, pre-integration-test, integration-test, post-integration-test, verify, install, deploy, pre-site, site, post-site, site-deploy. -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/LifecyclePhaseNotFoundException
【调试说明】
如果有需要调试安装内容,可以使用在命令后面追加-X -e
,可以查看报错内容。例如:
mvn install:install-file -Dfile="D:/lion/lion-cpedu-api/1.0.2/lion-cpedu-api-1.0.2.jar" -DpomFile="D:/lion/lion-cpedu-api/1.0.2/lion-cpedu-api-1.0.2.pom" -DgroupId="com.lion" -DartifactId="lion-cpedu-api" -Dversion="1.0.2" -Dpackaging="jar" -X -e
【补充说明】
如果使用的不是maven默认仓库,请通过-DlocalRepositoryPath
参数指定本地仓库路径,结合上述命令,最终命令如下:
mvn install:install-file -Dfile="D:/lion/lion-cpedu-api/1.0.2/lion-cpedu-api-1.0.2.jar" -DpomFile="D:/lion/lion-cpedu-api/1.0.2/lion-cpedu-api-1.0.2.pom" -DlocalRepositoryPath="D:/Maven/repository" -DgroupId="com.lion" -DartifactId="lion-cpedu-api" -Dversion="1.0.2" -Dpackaging="jar"