比如:Cannot resolve org.openjfx:javafx.base:11.0.0-SNAPSHOT等各种项目下的Dependencies依赖报红,可以试试下面的方法(不分顺序)。
1、重新编译
删除class文件夹;
点击maven的Lifecycle,进行清理,重新编译clean -> install。
2、检查maven
File -> Settings -> Build,Execution,Deployment -> Maven -> Importing -> JDK for Importer 要选择 jdk 1.8。
3、官网复制依赖
直接从官网复制依赖:删除原来的报错依赖项后,粘贴仓库官网的依赖代码。
或者在旁边打个空格试试。
4、jar包自理
下载/复制依赖的jar包,放进本地仓库相应位置。
5、重启/重导项目
idea重启或项目重新导入,治很多疑难杂症。
项目重新导入时,建议点击 close project(File下拉菜单)后再打开。
6、忽略(忽略也可正常启动)
有些比如:Cannot resolve org.olap4j:olap4j:0.9.7.309-JS-3
这种报错,系统也是可以正常运行的。只要能启动项目,可以选择忽略。
7、防火墙
检查是否防火墙阻止访问下载
8、删除下载文件,在网络好的情况下重下
进入对应仓库文件夹,可以看到本来应该以.jar结尾的文件是以.jar.lastUpdated等结尾。这是网络不好时下载的文件。需要删除重下。
9、更换settings.xml文件
idea右侧maven栏项目无dependencies,并且解析过程一闪而过。
提示的can’t resolve仓库不是公司中央仓库,也不是本地库:打开仓库相应jar包文件夹,没有_remote.repositories文件。
此时换下别人的settings.xml试试。
10、配置对应jar包下的_remote.repositories文件
主要解决mvn编译时绕过本地jar去maven仓库下载的问题,即本地jar包已经下好了,仍然去maven仓库下载。
_remote.repositories用来标识去哪里找jar包。
例如:
#NOTE: This is an Aether internal implementation file, its format can be changed without prior notice.
#Wed Jul 05 17:54:08 CST 2017
umpay-v40.pom>local-nexus=
umpay-v40.jar>local-nexus=
修改为:
#NOTE: This is an Aether internal implementation file, its format can be changed without prior notice.
#Wed Jul 05 17:54:08 CST 2017
umpay-v40.pom>central=
umpay-v40.jar>central=