更新:
同样的问题又出现了,又查了资料,才知道是私服仓库里缺少对应的pom文件。
解决办法:在本地仓库手动生成一个pom文件
详细步骤:
1、打开 mvn 命令行工具 或 配置过MAVEN_HOME全局变量可以直接在idea终端上执行命令
2、执行命令
mvn clean
mvn install:install-file -DgroupId=taobao -DartifactId=sdk-java -Dversion=1.0.0 -Dfile=D:\work\test\sdk-java-1.0.0.jar -Dpackaging=jar -DgeneratePom=true
各指令含义:
DgroupId:是项目组织唯一的标识符,要依赖jar的goupId
DartifactId:项目的唯一的标识符,要依赖jar的artifactId
Dversion:项目版本
Dfile:jar包存放路径(绝对路径)
DgeneratePom:是否生成pom文件,ture:生成,false:不生成
执行效果参考:
3、文件上传到私服后就可以正确关联了
问题已解决,历史回答仅供参考。
首先,检查一下maven配置和本地仓库的地址,比如说我用的是公司私服的配置,同时将本地仓库地址修改为公司私服配置中预设好的路径。
在此基础上,遇到加载maven,仍然读不到的问题。
尝试了多种方法,终于成功了,将百度到的方案进行了一个总结。
方法一:删掉_remote.repositories文件和后缀是lastUpdated的文件,然后重新加载maven。
传送门1:相关链接
传送门2:相关链接
(后面成功之后发现后缀是lastUpdated的文件,存在与否都不影响识别)
因为当前使用的jar包为第三方对接的,没法从中央仓库上下载,只能在私服里获取,并没有解决我的问题。
方法二:釜底抽薪,删掉本地仓库,项目重新加载maven。
传送门:相关链接
方法三:清除idea缓存并重启,由maven进行构建和运行操作。
传送门:相关链接
因为我遇到的情况是代码中也能正确识别到jar包文件,只有pom文件提示找不到,影响pom文件修改后maven正常加载。情况略有不同,没有尝试过该方法。
方法四:手动更新本地仓库并关掉idea并重启
传送门:相关链接
原文中提到的是eclipse的操作,我照着方法在idea上进行了类似的修改,大致步骤如下。
这个时候idea其实还是提示报错的,然后联想到前面方法提到的缓存问题等等,灵光一闪, 决定关闭所有的idea窗口,再稍微等个几秒重新打开idea,然后就发现pom文件不再提示找不到了,maven 打包也不会报错了。
后知后觉也发现了idea重启的重要性,可能上面几种方法都能顺利解决问题,只不过我到最后才反应过来要重启。