首页 > 其他分享 >maven包爆红解决方案

maven包爆红解决方案

时间:2023-01-11 10:45:46浏览次数:38  
标签:xml 方案 解决方案 配置 maven mirror 镜像 包爆红

转自:https://blog.csdn.net/qq_43705131/article/details/106165960

 

方案1:

当一开始遇到导入的依赖报红了,直接把那段刚导入的对应依赖删了,然后又重新导入,它自动会刷新;

 

方案2:

在IDEA右边点击Maven会弹出一个框,然后狂点击刷新按钮,让它自动它导入下载更新

 

 

方案3:
还有一种问题情况是这样的,导入了依赖没有这个jar


然后,就是这样操作的 去寻找 Settings -> Build,Execution,Deployment -> Build Tools -> Maven -> Ignored Files


这个默认不勾选,如果勾选了,要取消了 ,(如果有勾选的人记得:重新去使用方案1和2重新去导入,刷新试试 )

 

方案4:
需要去配置一下设置, 让它自动下载,如下图配置:

位置: Settings -> Build,Execution,Deployment -> Build Tools -> Maven -> Importing,如下图:

 

 


然后重新去使用方案1和2重新去导入,刷新试试 , 或许对你有帮助

方案5:
这种也是配置的,要是没勾选了,包死活也下载不了

位置: Settings -> Build,Execution,Deployment -> Build Tools -> Maven -> Work offline

 

 


方案6:
2019版的IDEA,要注意maven版本兼容问题

2019.3版本的IDEA用3.6.1的maven兼容不了,换了最新版的好使。

我用的是3.3.9版本,挺好的,没问题,如果实在没办法的,可以试试换maven版本

(当然,也别慌,重头戏在后面,先把后面一种方案看完,说不定,就搞定了呢,嚯嚯!!)


方案7:
在此前,提供一个小工具,只要运行可以自动检测删除你下载未完整的依赖文件,

首先创建一个txt文档,复制以下代码

set REPOSITORY_PATH=E:\repository
rem 正在搜索...
for /f "delims=" %%i in ('dir /b /s "%REPOSITORY_PATH%\*lastUpdated*"') do (
    del /s /q %%i
)
rem 搜索完毕
pause

  


记得路径修改为你自己所在依赖包的位置


然后把.txt文件后缀改为.bat ,双击运行即可跳出窗口去自动删除, 然后可以去重新让它下载依赖试试(最好结合下一个方案最稳)

 

 

方案8:
接下来,真的,是重头戏,这也是我的解决的方案,感觉小伙伴们用了,肯定屡试不爽

首先.最好结合使用方案7把你存在的不完整的依赖文件删除,

首先.在pom.xml的导入包所在处 鼠标右键找到Maven,然后点击Open"settings.xml"

 

会显示这个页面


然后在settings.xml中配置远程仓库, 复制以下配置

<mirrors>
<mirror>
<id>nexus</id>
<name>internal nexus repository</name>
<!-- <url>http://192.168.1.100:8081/nexus/content/groups/public/</url>-->
<url>http://repo.maven.apache.org/maven2</url>
<mirrorOf>central</mirrorOf>
</mirror>
</mirrors>

我刚开始,弄到这个配置,直接复制到settings.xml中,让它加载,还以为没用,原来一时眼瞎,它这文件自带注解太多,没有向下翻,直接复制顶部,错误示范如下图


正确配置:

要耐心向下翻到一百多行,找到 复制在其中,然后,我这准备的配置时带有的,记得删了,不然就有两个


然后,你回到pom.xml中试试,行不行,

注意: 如果不行则把url中使用http 可能不好用,换成https进行尝试

我试了一下,这种配置好像没完全解决我的问题,所以,我还准备了还有一种配置,完全解决了我的问题,
同样复制一下配置到settings.xml中的里

<mirror>
<id>nexus-aliyun</id>
<mirrorOf>*</mirrorOf>
<name>Nexus aliyun</name>
<url>http://maven.aliyun.com/nexus/content/groups/public</url>
</mirror>

然后回到pom.xml文件看,刷新一下,或者它自动正在下载相应的依赖,真的是,看到,它咻咻的,在那动来动去的下载

别提我多高兴了,我想这次准成,下了好一会,果然,成功了,开心!!!啊哈哈(如图)


然后就没有报红了,但是,我打开maven看,还有个别爆红,可能没下载全(当时忘了截图)

办法:只要使用方案1和2, 把依赖删了,重新复制进去,重新导入刷新依赖, 让它自动补全,就完美了

如图,一点报错没有


弄了大半天,总算没有白忙活,把问题解决了,希望给小伙伴们解决问题噢!!

看完恭喜你,又知道了一点点!!!

你知道的越多,不知道的越多!

~感谢志同道合的你阅读, 你的支持是我学习的最大动力 ! 加油 ,陌生人一起努力,共勉!!
————————————————
版权声明:本文为CSDN博主「煌sir」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_43705131/article/details/106165960

 

########多镜像问题====================================================================

配置阿里镜像或多个镜像:转自 https://www.cnblogs.com/hxun/p/11274196.html

问题场景

1、国内访问maven默认远程中央镜像特别慢

2、用阿里的镜像替代远程中央镜像

3、大部分jar包都可以在阿里镜像中找到,部分jar包在阿里镜像中没有,需要单独配置镜像

解决方案

settings.xml 中可以使用变量,可以尝试使用变量解决:

复制代码
  <mirrors>
        <!-- 阿里云仓库 -->
        <mirror>
            <id>alimaven</id>
            <mirrorOf>central</mirrorOf>
            <name>aliyun maven</name>
            <url>http://maven.aliyun.com/nexus/content/repositories/central/</url>
        </mirror>
    
        <!-- 中央仓库1 -->
        <mirror>
            <id>repo1</id>
            <mirrorOf>central</mirrorOf>
            <name>Human Readable Name for this Mirror.</name>
            <url>http://repo1.maven.org/maven2/</url>
        </mirror>
    
        <!-- 中央仓库2 -->
        <mirror>
            <id>repo2</id>
            <mirrorOf>central</mirrorOf>
            <name>Human Readable Name for this Mirror.</name>
            <url>http://repo2.maven.org/maven2/</url>
        </mirror>
  </mirrors>
复制代码

 

在maven的配置文件setting.xml大里面有个mirrors节点,用来配置镜像URL。mirrors可以配置多个mirror,每个mirror有id,name,url,mirrorOf属性,

id是唯一标识一个mirror,name节点名,url是官方的库地址,mirrorOf代表了一个镜像的替代位置,例如central就表示代替官方的中央库

 

虽然mirrors可以配置多个子节点,但是它只会使用其中的一个节点,即默认情况下配置多个mirror的情况下,只有第一个生效,只有当前一个mirror

无法连接的时候,才会去找后一个;而我们想要的效果是:当a.jar在第一个mirror中不存在的时候,maven会去第二个mirror中查询下载,但是maven不会这样做!

 

注意:

   配置多个mirror时,mirrorOf不能配置" * "," * " 的意思就是(根据mirrorOf和repository的id)匹配所有的仓库(repository),

这样就是说如果你需要某个jar,他会从镜像地址去下载这个jar。不管你配置了多少个库,即使这些库的地址不一样,仍然会从镜像地址访问

标签:xml,方案,解决方案,配置,maven,mirror,镜像,包爆红
From: https://www.cnblogs.com/banyanisdora/p/17043087.html

相关文章

  • idea创建maven + tomcat项目
                        移动文件夹:           找到tomcat文件目录          配置......
  • Maven-高级
    Mvaen高级1导入其他工程资源文件先install到仓库里然后根据组织名项目名版本号写在dependence里正常导入<dependence> <groupId></groupId><artifactId></art......
  • maven安装在idea中报错
    java.lang.RuntimeException:java.lang.RuntimeException:org.codehaus.plexus.component.repository.exception.ComponentLookupException:com.google.inject.Provisio......
  • 数字乡村解决方案:农村污水监测物联网
    由于农村生活点位多且较分散,排放较随意,污水处理站点规模往往较小,布局边缘分散,导致管理成本较高、效率也低,主要体现在人员值守和巡检成本高、效率低、误差大等方面。因此对污......
  • python3.7+ 安装pyspider报错解决方案
    前言环境:Macospython3.7遇到的错误及解决方案1.格式错误async=True,get_object=False,no_input=False):^SyntaxError:invalidsyntaxpython3.7版本以上,需要将......
  • 光点农业农村领域信用大数据平台解决方案入选“2022广东省政务服务创新案例”
    近期,广东省电子政务协会面向全省各级政府机构、企事业单位征集政务服务创新案例以及解决方案。经过初评及专家评审,光点科技农业农村领域信用大数据平台解决方案成功入选“20......
  • win10开启ftp连接不上的正确解决方案
    防火墙问题https://blog.csdn.net/SubStar/article/details/107365423文件夹权限问题创建用户名不能为ftp等,见微软官方说明......
  • maven引入本地jar包
    一、在pom文件中引用时使用本地路径:首先把jar包放到项目中,在目录下新建lib目录,将jar包放入lib下在pom下引入jar包<dependency><groupId>com.alibaba</groupId><arti......
  • maven标签详解
    依赖范围scope在项目发布过程中,帮助决定哪些构件被包括进来。欲知详情请参考依赖机制。compile:默认范围,用于编译provided:类似于编译,但支持你期待jdk或者容器提供,类似......
  • Maven 插件 git-commit-id-plugin,打包包含提交信息
    Maven打包发布版本可能会遇到自己的提交不起作用的情况,排查比较困难,可能需要拉下服务器上包,反编译查看是否包含自己的提交记录。如果使用的是GIT作为SCM,可以使用git-commi......