最近用IDEA导入项目的时候遇到了一些Maven相关的问题,有些问题也确实花了我不少时间,现在把遇到的这些问题记录一下。
问题简介:Maven导包失败,提示Since Maven 3.8.1 http repositories are blocked.
问题已经描述得很清楚了,这是由于Maven版本过高的问题,高版本Maven不支持Http协议的仓库了,所以无法从远程仓库导包。
解决方法:
1.降Maven版本,降到3.6.x即可。降版本的操作我就不说明了,值得一提的是,电脑上可以装多个版本的Maven,他们之间是不冲突的。重新下一个低版本Maven,更改IDEA配置即可。
2.打开Maven的setting.xml(在Maven的conf文件夹里),把里面mirror对应的url的http换成https即可。
问题简介:Maven导包一直找不到,试过各种加镜像、加官方仓库的办法都没用
可能是因为仓库里真没这个包!!!
解决方法:
1.根据包名换仓库中有的版本(多人合作的项目不建议此方法,容易有版本冲突)。
2.找同学、同事复制一下他们的Maven仓库到本地,修改IDEA配置即可。
问题简介:Maven复制别人的本地仓库,但IDEA依旧从远程仓库下载包的问题
可能出现的问题:本地Maven仓库缺少jar包,复制别人仓库后在IDEA刷新依赖,依旧从远程仓库下载包,并很可能出现找不到包的问题(远程仓库中已经没有那些包了)
尝试过网上方法,删除 .lastUpdated 后缀的文件和_remote.repositories文件,在setting中配置mirror为本地仓库,IDEA更新本地仓库,但依旧未生效。后来发现可能是setting中的mirror配置原因,需要注释掉其他mirror(只设置本地仓库),解决问题后根据需要选择是否取消注释。
附windows 批量删除文件命令
del /s *.lastUpdated
del /s _remote.repositories
DEL [/P] [/F] [/S] [/Q] [/A[[:]attributes]] names
ERASE [/P] [/F] [/S] [/Q] [/A[[:]attributes]] namesnames 指定一个或多个文件或者目录列表。
通配符可用来删除多个文件。
如果指定了一个目录,该目录中的所
有文件都会被删除。/P 删除每一个文件之前提示确认。
/F 强制删除只读文件。
/S 删除所有子目录中的指定的文件。
/Q 安静模式。删除全局通配符时,不要求确认
/A 根据属性选择要删除的文件
属性 R 只读文件 S 系统文件
H 隐藏文件 A 存档文件
I 无内容索引文件 L 重分析点
- 表示“否”的前缀
问题简介:Maven导包刷新后导入依赖还是报红
解决方法:Maven 先 clean 再 install。
问题简介:Maven下载 Java资源失败(Download Sources)
问题描述:点进class,要下载类的时候提示 Cannot download sources Sources not found for:
解决方法:IDEA中打开Terminal ,进入带有pom文件的文件夹,执行 mvn dependency:resolve -Dclassifier=sources,未解决,发现原因是本地仓库没有 xxx-sources.jar包,远程仓库也没有对应的版本包了。后来只能用最low 的方法:利用 JD - GUI 将 .class 文件反编译为 .java 文件,在压缩成jar包导入到Maven仓库。
(附:在项目中设置下载源码:Setting - Maven - Importing - Automatically download 中Sources打钩)