maven无法引入本地仓库的jar包如何解决?maven全局设置保存无效怎么办?

1.在之前的一篇博客中,我就遇到了这个问题,当时上网查找方法之后,zhaod仓库中需要用到的jar包所在位置,然后删除了里面的_remote.repositories文件,当时servlet-api没有报错,于是我以为解决问题了。然后发现其他的jar包删除_remote.repositories文件之后依然无法使用,于是用了很长时间来解决这个问题。

2.接下来我试着删除掉项目下的.iml文件,然后重启IDEA,点击Maven窗口下的刷新按钮,还是不行。

3.实在没办法,有人提出引用jar包时,添加它在本地的绝对路径。这种方法不到万不得已,不推荐使用,所以我也没有采取,因为这样还不如直接去中央仓库复制坐标简单一些。

<dependency>
    <groupId>emb.client</groupId>
    <artifactId>link-message-client</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <systemPath>E:/chenwx/Desktop/LinkMsg/Link/lib/link-message-client-0.0.1-SNAPSHOT.jar</systemPath>
    <scope>system</scope>
</dependency>

4.我决定重新下载本地仓库,于是下载了该链接里面的私服:

https://blog.csdn.net/star1210644725/article/details/82963169

 但是下载下来的本地仓库有好几G,而我之前的maven是安装在C盘的,这时候空间快满了,于是我把maven和本地仓库(统一放在my_java文件夹里面)都移到D盘,然后修改了maven中conf文件夹里面的settings.xml,将本地仓库位置修改到D盘下;然后去我的电脑——属性——环境变量,把MAVEN_HOME的值修改为新地址;最后去IDEA——configure——settings——maven中修改了如下内容:

 然后就出现了第二个问题:我修改了之后打开maven项目是好的,但是关掉IDEA,下次再打开IDEA时就会报错maven_home,发现之前在configure中改的都失效了!maven_home又变成了C盘下的路径。。。

我采取了如下尝试:

(1)勾选maven-runner下面的delegate IDE build/run actions to Maven;

(2)修改path的值%MAVEN_HOME%\bin为绝对路径;

 (3)打开命令提示符输入mvn -v,发现终于改好了;

5.需要注意:我们打开以前的maven项目发现maven_home还是以前的值,是因为这些项目配置的时候位置还没有更改,这是正常的,再修改过来就好啦。

好,接下来我们回到第四点,我下载好了新的本地仓库,但是依然无法引入jar包。。。

6.当我花了一整天的时间仍然没有解决之后,我决定用金钱来拯救自己的时间(其实我真的很肉疼),在这里记录一下,希望大家可以少费点力气。

(1)工程师通过远程控制我的电脑时,我突然就发现我的两个本地仓库文件名不一致!解释以下,因为之前每次打开项目,右边的maven里面的plugins就会一直报错,然后就会生成一个本地仓库文件夹在我的电脑里。我自己下载的本地仓库文件夹名字是maven-repository,那个自动出现的仓库文件夹名字是maven_repository,苍天啊,你们发现了吗?我把本地仓库的名字里面的_写成 - 了!!我发现的一刹那只想问工程师,我自己发现错误了能不能退我那部分的钱!(并没有问,因为不太道德)然后我跟工程师说了命名错误之后就把名字改过来啦。

(2)然后那个工程师让我把本地仓库里面所有的东西都清空,我照做了。

(3)工程师在maven的conf文件夹中,在settings.xml文件中加入了一段话:

 <mirror>
        <id>alimaven</id>
        <name>aliyun maven</name>
        <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
        <mirrorOf>central</mirrorOf>
    </mirror>
  </mirrors>

然后就可以直接从阿里云下载jar包了。

(4)工程师新建了一个maven,右边的maven-plugins依然报错,不过下面显示一直在更新,原来是正在重新下载jar包到本地仓库里,提醒小伙伴们一定要等更新完也就是所有jar包都下载完才能退出!

(5)然后就可以引入jar包了,只不过要先写坐标才会有提示。

猜你喜欢

转载自www.cnblogs.com/iceywu/p/12284695.html
今日推荐