一、maven Could not resolve dependencies for project xxx:jar 错误原因及解决方案
1. 错误场景:
在一个多模块的项目中,尝试的去编译,运行子模块时报了如下错误:
2. 异常报错描述:
这个错误提示只是告诉了我们 无法解析项目的依赖关系 。
3. 原因分析:
多模块的项目都是父子工程,需要模块与模块之间存在依赖关系。比如说 我上图 mall-common-utils 模块需要依赖于 mall-common-pojo 模块一样。
这些子模块之间的依赖和第三方项目不同,第三方项目依赖直接是从我们远端镜像仓库下载下来的,如 https://maven.aliyun.com/repository/public/ 阿里云国内镜像仓库,或者 https://mirrors.huaweicloud.com/repository/maven/ 华为云国内镜像仓库;而我们这些子模块的依赖是从我们本地库中去寻找的,一般来讲默认地址为:C:\Users\xxx\.m2\repository ,所以我们需要去寻找本地仓库是否存在这些依赖
4. 解决方案:
查看 IDEA 中设置的本地库位置,settings 文件中设置的本地库位置是否与存放 依赖的模块 jar 位置一致,不一致可能因为下载和读取的位置不一致,导致依赖失败
查看 本地库 中是否存在需要依赖的,如果没有,进入想要依赖的子模块目录,命令行执行 mvn install
执行成功后,进入父工程目录下,命令行执行 mvn install,如果出现以下情况,说明执行成功
5. 拓展:maven 指令简单介绍
mvn clean
清空 target 目录下的内容
mvn compile
编译,生成 target 目录并将 .java 文件编译成 .class 文件
mvn package
对项目、工程、模块进行打包操作,打包后位置为 target 目录下
mvn install
在本地库生成 jar 包,可供其他项目、工程、模块引用/依赖,同时将项目进行打包操作,打包后位置为 target 目录下
mvn编译profie不生效
mvn clean install -Dmaven.test.skip=true
# 如若修改版本,按以下指定即可。flink可支持多版本(1.11-1.16)
mvn clean install -Dmaven.test.skip=true -P pord,scala-2.11,flink-1.14,flink-1.15
# 如若不需要web编译,-P 后面加: `!web`
mvn clean install -Dmaven.test.skip=true -P !web,pord,scala-2.11,flink-1.14,flink-1.15
原文链接:https://blog.csdn.net/weixin_46030002/article/details/126644815