maven导入依赖失败问题

您所在的位置:网站首页 idea找不到依赖项怎么办 maven导入依赖失败问题

maven导入依赖失败问题

2024-07-15 15:25| 来源: 网络整理| 查看: 265

目录

一、idea配置maven

1、配置maven版本及本地仓库

二、清理Local Repository的.lastUpdated文件

三、在idea中重新导入依赖

一、idea配置maven 1、配置maven版本及本地仓库

关于项目中对maven的使用,建议不要使用springBoot自带的maven,因为它的版本是比较高的,稳定性不是很好。

File -》Settings-》Maven:在这里配置自己电脑安装的maven和setting文件即可。本地仓库的配置,如果settings.xml文件已经配置了,idea会自动读取到。

 idea 新建maven项目时,避免每次都需要指定自己的maven目录。

maven如何在settings.xml文件配置本地仓库

同时,建议在settings.xml文件里将中央仓库该为阿里云的,这样下载依赖的速度会快很多。如何修改中央仓库 请点击

二、清理Local Repository的.lastUpdated文件

众所周知,Maven在下载仓库中找不到相应资源时,会生成一个.lastUpdated为后缀的文件。如果这个.lastUpdated文件存在于本地仓库中,那么即使换一个有资源的远程仓库后,Maven依然不会去下载新资源。

清理.lastUpdated文件的脚本如下:(注意将repository的地址改成自己的):

set REPOSITORY_PATH=C:\softwareInstall\01java\repository rem 正在搜索... for /f "delims=" %%i in ('dir /b /s "%REPOSITORY_PATH%\*lastUpdated*"') do (     del /s /q %%i ) rem 搜索完毕 pause

新建一个text的文件,copy进去,将文件后缀改为 .bat  双击即可运行。运行效果如下:

同时提供一个Java代码版的(还可以清空空的文件夹哟) 

package com.hanclouds.teamwork.result; /** * @author MouFangCai * @date 2019/7/10 17:28 */ import java.io.File; /** * 清理maven仓库 * @author xuzhao * */ public class MavenClean { private static int emptyDirectoryNum = 0; private static int lastUpdateNum = 0; private int emptyNum = 0; /** * 要清理的内容包括 * 1. 所有的.lastUpdated 结尾的文件 * 2. 清理之后的所有空文件夹 */ public static void main(String[] args) { final String mavenRepositoryPath = "C:\\softwareInstall\\01java\\repository"; File f = new File(mavenRepositoryPath); MavenClean clean = new MavenClean(); //while(clean.emptyNum!=0&&clean.emptyNum!=-1) { //这里一次执行清理不完 多次执行直到打印出0 clean.cleanLastUpdate(f); clean.cleanEmptyDirectory(f); System.out.println("删除文件 "+ lastUpdateNum+"个, 删除空文件夹 "+emptyDirectoryNum+"个"); System.out.println(clean.emptyNum); //} } /** * 删除所有.lastUpdated结尾的文件 * @param f */ public void cleanLastUpdate(File f) { if(f!=null) { if(f.getName().endsWith("lastUpdated")) { lastUpdateNum++; System.out.println("要删除的文件是:"+f.getAbsolutePath()); f.delete(); } if(f.isDirectory()) { File[] fs = f.listFiles(); for(File fItem:fs) { cleanLastUpdate(fItem); } } } } /** * 删除所有的空文件夹 * @param f */ public int cleanEmptyDirectory(File f) { if(f!=null&&f.isDirectory()) { File[] fs = f.listFiles(); if(fs.length==0) { emptyDirectoryNum++; emptyNum++; System.out.println(f.getAbsolutePath() +" 是空文件夹被删除"); f.delete(); }else { for(File fc:fs) { cleanEmptyDirectory(fc); } } } return emptyNum; } } 三、在idea中重新导入依赖

然后在idea中“Reimport”依赖:(或者右击对应微服务,点击)

如果Reimport后依赖还是报红,可先clean再install:

注意:如果是分布式项目,注意各个微服务之间的依赖的关系,install的顺序要注意。各个微服务的顺序,可以先install父微服务,Maven会首先解析聚合模块的POM、分析要构建的模块、并计算出一个反应堆构建顺序( Reactor Build Order)。根据这个顺序依次install就OK了。

 

 

 

 

 

 

 

 

 

 



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3