idea 中 Maven下载cdh依赖失败等问题

原本是完成 springboot + hbase,在 pom.xml 中添加依赖(springboot采用 1.5.3):

  <dependency>
            <groupId>com.spring4allgroupId>
            <artifactId>spring-boot-starter-hbaseartifactId>
            <version>1.0.0.RELEASEversion>
  dependency>

但是报了一堆错

Cannot resolve org.apache.hbase:hbase-annotations:1.0.0-cdh5.4.4
Cannot resolve org.apache.hbase:hbase-common:1.0.0-cdh5.4.4
Cannot resolve org.apache.hadoop:hadoop-core:2.6.0-mr1-cdh5.4.4
Cannot resolve org.apache.zookeeper:zookeeper:3.4.5-cdh5.4.4
Cannot resolve org.apache.avro:avro:1.7.6-cdh5.4.4
Cannot resolve org.apache.hadoop:hadoop-common:2.6.0-cdh5.4.4
Cannot resolve org.apache.hbase:hbase-client:1.0.0-cdh5.4.4
Cannot resolve org.apache.hadoop:hadoop-auth:2.6.0-cdh5.4.4
Cannot resolve org.apache.hbase:hbase-protocol:1.0.0-cdh5.4.4
Cannot resolve org.mortbay.jetty:jetty:6.1.26.cloudera.4

上面这个错是我在书写如下代码时发现的:

import org.apache.hadoop.hbase.client.Result;

public class UserRowMapper implements RowMapper<User> {
    @Override
    public User mapRow(Result result, int rowNum) throws Exception {
        return null;
    }
}

由于这里重写的 mapRow 方法是来自于 org.apache.hadoop.hbase.client.Result; 的,而我在 pom 里并没有添加 hadoop 的依赖,而且 import 这里也报了错。后来发现这些依赖应该是在加 spring-boot-starter-hbase 依赖时所涉及的相关依赖包。

然后重新导入 maven 工程时就报了上述错误。

在本地 maven repository 中,发现出错的依赖文件夹里面的文件都是以 .lastUpdated 结尾,一般是因为网络原因或者仓库配置导致包下载失败导致的
但是我在 maven 的 settings.xml 中也添加了 cloudera 的镜像,但还是出错。。。。

  1. 依赖文件在 xx\maven-repository\ 路径下;
  2. settings.xml 文件在 xxx\apache-maven-3.6.3\conf\ 路径下

不论是更改镜像还是依赖版本均出错,
最后的解决办法是,直接手动在 cloudera 仓库中下载文件,仓库地址:
https://repository.cloudera.com/artifactory/cloudera-repos/
之后 idea 点击左上角 File->Invalidate Caches/Restart… ,错误消失。

你可能感兴趣的:(java,maven,java,hbase)