背景说明
工作过程中避免不了导入新项目,导入新项目的过程中经常遇到依赖的Jar出现红线,无法正常解决依赖问题。
解决方案
清空缓存
打开文件[File]->清除缓存/重启...[Invalidate Caches/Restart ...]进行尝试查看问题是否解决。
仓库文件
首先查看本地仓库中是否存在对应的Jar,打开文件
->设置
->构建、执行、部署
->Maven
->本地存储库
->groupId目录``artifactId目录
->version目录
查看是否存在相关Jar,如果Jar不存在则查看是否存在.lastUpdated
和_remote.repositories
文件,存在则删除,重新import
项目尝试是否能正常下载缺失的Jar,若多次尝试仍然无法正常下载则访问https://mvnrepository.com/
进行查询手动下载放置至指定目录。
更改文件
若仓库文件已经存在,问题仍然无法解决,则打开Pom.xml
文件,
-
pom文件将出现红线所对应的maven依赖进行选中然后Ctrl+X剪贴
-
刷新右侧maven管理框,Maven执行reimport,这时已经没有波浪线
-
再回撤引用的依赖,再次执行reimport(将剪贴的内容Ctrl+V粘贴进依赖,再去刷新右侧maven管理框)
-
问题解决即可恢复正常
重导项目
如果以上方案仍然未解决,可以进一步尝试
删除文件
手动删除
找到项目的根目录,删除如下文件.idea
、.iml
、.ipr
、target
、.iws
如果是多模块项目,子模块的以上文件也需要手动删除
脚本删除
Windows
echo off
rem echo %~dp0
del /a /f /s /q %~dp0*.idea
del /a /f /s /q %~dp0*.iml
del /a /f /s /q %~dp0*.ipr
del /a /f /s /q %~dp0*target
del /a /f /s /q %~dp0*.iws
pause
Unix(Mac/Linux)
创建脚本文件workspace-idea-reset.sh
Mac环境推荐放置目录
/Users/hanlongjie/Develop/Scripts
并配置环境变量Path=$Path:/Users/hanlongjie/Develop/Scripts
在项目根目录执行workspace-idea-reset.sh
即可完成清理
#!/bin/bash
# dirname $0 取得当前执行脚本文件的父目录
scriptpath=$(cd `dirname $0`;pwd)
echo "current script path: $scriptpath"
basepath=`pwd`
echo "current work path: $basepath"
echo "begin clean"
# delete idea files
find $basepath -name ".idea" | xargs rm -rf
find $basepath -name "*.iml" | xargs rm -rf
find $basepath -name "*.ipr" | xargs rm -rf
find $basepath -name "*.iws" | xargs rm -rf
# delete target files
find $basepath -name "target" | xargs rm -rf
echo "clean successed!"
插件删除
在项目的Pom.xml
文件的build
->plugins
下添加插件
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-idea-plugin</artifactId>
<version>2.3-atlassian-5</version>
</plugin>
执行命令mvn idea:clean
删除idea相关文件
依赖插件和Jar也可以通过命令
mvn -U idea:idea
进行尝试下载补全版本 2.3-atlassian-5即可不建议再升级高版本否则执行相关命令会报错,请自行尝试
导入项目
方案一
关闭Idea软件,重新打开软件并选择项目根目录进行重新构建即可。
方案二
不关闭Idea软件,进入Idea软件主界面,选择pom.xml
右键选择'添加为Maven项目'此时等待Idea构建工程即可。
也可以选择项目根目录右键
添加框架支持...[Add Framework Support...]
勾选Maven
即可。
网友评论