Java后端常见问题 (一)jar:unknown was not found in alimaven

1.安装配置maven时未将原来的 mirror 标签注释掉

解决方法 :找到 mirrors 标签,先将原来配置的http://0.0.0.0 给注释了,这个是高版本的maven 增加的一个保护机制,如果不注释,那么使用的时候就下载不了jar 包,如下图所示。

2.阿里云仓库没有配置 all 或 *

从报错信息看,是在阿里云仓库找不到jar 包,但是确实在阿里云仓库可以找到这个jar 包。那么只能从阿里云镜像配置去分析,终于发现了问题。之前在配置maven 时,在settings.xml 里面, 配置阿里云仓库镜像时,匹配的是 central 仓库,而 central 仓库没有要找的这个jar 包,它是在其他仓库里,所以将 central 改成 all 或 * 就行。下面是阿里云的四个仓库。(修改操作看上图)

仓库名称 阿里云仓库地址 阿里云仓库地址(老版) 源地址
central https://maven.aliyun.com/repository/central https://maven.aliyun.com/nexus/content/repositories/central https://repo1.maven.org/maven2/
public https://maven.aliyun.com/repository/public https://maven.aliyun.com/nexus/content/groups/public central仓和jcenter仓的聚合仓
gradle-plugin https://maven.aliyun.com/repository/gradle-plugin https://maven.aliyun.com/nexus/content/repositories/gradle-plugin https://plugins.gradle.org/m2/
apache snapshots https://maven.aliyun.com/repository/apache-snapshots https://maven.aliyun.com/nexus/content/repositories/apache-snapshots https://repository.apache.org/snapshots/

3.在使用dependencyManagement和dependecy时没有添加version

在父工程中使用dependencyManagement 时,一定得在dependency 中填写version 。由于我在properties 中给spring 的版本信息进行统一管理,所以当时在dependency 中漏写了version ,所以导致出错。可以直接给每个依赖写版本信息,也可以利用properties 属性单独定义一些变量,在dependency 中使用该变量,以便在整个项目中统一管理一些配置信息。

注意:<dependencyManagement> 元素是 maven POM 文件中的一个重要部分,用于集中管理项目中所有模块的依赖版本信息,父工程中只是声明依赖,并不会导入依赖,需要子工程中使用dependency 才会导入依赖,子工程里不需要填写依赖的版本信息。

修改之后如下图所示

相关推荐
硬件人某某某7 分钟前
微信小程序~电器维修系统小程序
java·ajax·微信小程序·小程序
猿java9 分钟前
MySQL 如何实现主从复制?
java·后端·mysql
martian66519 分钟前
【Java基础篇】——第4篇:Java常用类库与工具类
java·开发语言
violin-wang44 分钟前
Intellij IDEA调整栈内存空间大小详细教程,添加参数-Xss....
java·ide·intellij-idea·xss·栈内存·栈空间
在下陈平安1 小时前
java-LinkedList源码详解
java·开发语言
黑客老李1 小时前
一次使用十六进制溢出绕过 WAF实现XSS的经历
java·运维·服务器·前端·sql·学习·xss
Mao.O1 小时前
IDEA编写SpringBoot项目时使用Lombok报错“找不到符号”的原因和解决
java·spring boot·intellij-idea·lombok
muxue1782 小时前
数据结构:栈
java·开发语言·数据结构
R-sz5 小时前
bladeX微服务框架如何修改nacos分组
java·微服务·架构
众乐乐_20086 小时前
mybatis 是否支持延迟加载?延迟加载的原理是什么?
java·servlet·tomcat