Android Studio开发遇到[Fatal Error] xxxxxx.pom:7:3: 元素类型 “hr“ 必须由匹配的结束标记 “</hr>“ 终止

 一、背景

最近一个管理一个旧项目,结果有两个依赖在sync中报以下错误:

[Fatal Error]  xxxxxx.pom:7:3: 元素类型 "hr" 必须由匹配的结束标记 "</hr>" 终止

xxxxx是我的项目报错的依赖包名。通过百度也没查到原因是啥,最后用谷歌在stackoverflow上找到了一个答案并解决问题。

二、原因

该问题的原因在于项目Maven地址,从Maven 3.8.1开始,Maven不再支持http的存储库。 这是因为https比http更加安全,可以更好地保护用户的数据和隐私。 然而,由于一些历史原因,有些依赖项的存储库仍然只支持http,这就导致了在构建项目时出现错误。 我的build.gradle (Project:)文件中刚好还有这么一个http类型的maven地址。

maven {url "http://dl.bintray.com/glomadrian/maven"}

二、解决办法

1. 解决方案1

最简单的方法是降低Maven的版本到3.6.3或更低。在setting中搜索maven,把maven home path地址改成机器上的3.6.3版本即可。

2. 解决方案2(推荐)

事情总要往前发展,因此我们还是推荐对于出问题的依赖项,先把htttp的maven地址删掉,然后将找不到的依赖包去发布网站上(比如github)寻找最新的仓库地址。这可能要升级依赖包的版本。下面建议把国内常用的https maven镜像都加进repositories 中(包括buildscript和repositories),这样至少90%以上的依赖包都能找到。下面是阿里云镜像示例。

buildscript {
    
    repositories {
        google()
        jcenter()
        maven { url 'https://jitpack.io' }
        maven { url 'https://maven.aliyun.com/repository/central' }
        maven { url 'https://maven.aliyun.com/nexus/content/groups/public/' }
        maven { url 'https://maven.aliyun.com/nexus/content/repositories/jcenter' }
        maven { url 'https://maven.aliyun.com/nexus/content/repositories/google' }
        maven { url 'https://maven.aliyun.com/nexus/content/repositories/gradle-plugin' }

    }
    dependencies {

    }
}

allprojects {
    repositories {
        google()
        jcenter()

        maven { url "https://www.jitpack.io" }
        maven { url 'https://maven.aliyun.com/repository/central' }
        maven { url 'https://maven.aliyun.com/nexus/content/groups/public/' }
        maven { url 'https://maven.aliyun.com/nexus/content/repositories/jcenter' }
        maven { url 'https://maven.aliyun.com/nexus/content/repositories/google' }
        maven { url 'https://maven.aliyun.com/nexus/content/repositories/gradle-plugin' }
    }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值