前言

本地系统环境

mac centos 11.7.10;

idea版本

IntelliJ IDEA 2024.1.4 (Ultimate Edition

jdk版本

1.8.0

需要安装的本地jar包名

ctg-cache-nclient-2.8.0.jar。

概述

因项目中,项目负责人创建了redis-cache的模块,引入的为本地jar包,命令如下:
mvn install:install-file -Dfile=ctg-cache-nclient-2.8.0.jar -DgroupId=com.ctg.itrdc.cache -DartifactId=ctg-cache-nclient -Dversion=2.8.0 -Dpackaging=jar

网上查了很多文章以及问了AI相关的问题,什么maven istall -U强制安装更新缓存啊也都尝试了,mvn install这个安装包都尝试好几遍了都不行,也都尝试了但是最终还是提示找不到pom文件,然后maven默认是先找本地仓库,如果本地仓库找不到再找第三方的远程仓库,我这配置的为aliyun的公共远程仓库。
让我摸不着头脑的是本地明明有这个jar包,而且在项目模块中的pom文件跟踪下也能链接跳转到本地的pom文件下,但是刷新maven就是提示找不到本地的非要去aliyun找。
如下图。图一:maven错误:
在这里插入图片描述
图二:引入此jar包的模块下的pom.xml文件:
在这里插入图片描述
图三:跟踪此依赖下的连接跳转到本地pom.xml文件:
在这里插入图片描述

根据上诉3张图的说明,执行本地jar包的安装后,确实项目模块下的pom.xml是连接到本地此包的pom文件的,但是为什么还是提示找不到这个jar包。
最后尼玛眼睛都看花了,因为刚接触java,对Maven的依赖包的机制不太了解,导致因为此jar包下的模块名字问题导致的。此时心里一万只草泥马在奔腾 🦙🦙🦙🦙*1万 😫😫😫😫😫
问题解决分析:
项目文件引入:
在这里插入图片描述
而执行安装jar-ctg-cache-nclient-2.8.0.jar包产生后的pom.xml文件的名字居然叫:ctg-cahce,上诉图二中可以看到。然后强制把此pom下的artifactid改为ctg-cache-nclient,刷新maven,maven项目构建成功如下图:
在这里插入图片描述
我尼玛,为什么生成出来的artifactid不一样,我去其他同事电脑上看执行出来后pom下的这个名字是对的。具体不太清楚原因,有清楚的小伙伴可以留言说明下,非常感谢。至此也算了解maven找本地jar包的依赖是通过artifactid找的。
写此文章仅此记录下项目中遇到的问题。欢迎小伙伴一起交流共同进步。

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐