编译Hadoop 2.9.0 提示 Could not find artifact com.amazonaws:DynamoDBLocal

本文介绍了解决Hadoop 2.9.0编译过程中遇到的DynamoDBLocal包缺失问题的方法。通过调整Maven仓库配置,成功引入了必要的依赖,实现了项目的顺利编译。
编译Hadoop 2.9.0 提示 DynamoDBLocal包找不到,到maven仓库也查不到com.amazonaws下的DynamoDBLocal,只能查到com.jcabi下的。
无奈找找看,发现在文章 http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/DynamoDBLocal.html#DynamoDBLocal.DownloadingAndRunning 中描述的仓库中有。但是我本地的maven镜像原来是 * 代理所有仓库的。于是行不通,还原不需要设置镜像。想到把包拷到仓库中,但是没有认到。最后翻看hadoop-2.9.0-src的pom文件,发现仓库配置,于是修改仓库配置,增加aws环境的

  <repositories>
    <repository>
        <id>dynamodb-local-oregon</id>
        <name>DynamoDB Local Release Repository</name>
        <url>https://s3-us-west-2.amazonaws.com/dynamodb-local/release</url>
    </repository>
    ...
  </repositories>
重新编译,就能正常通过了

### 解决 Maven 构建时 Hadoop 客户端依赖问题 当遇到 `Could not find artifact org.apache.hadoop:hadoop-client:pom:unknown` 错误时,通常是因为 Maven 无法从默认的中央仓库获取所需的 Hadoop 版本。这可能是由于网络问题或者特定版本并未托管在标准的公共仓库中。 为了确保能够正确下载所需版本的 Hadoop 客户端 JAR 文件,在项目的 POM 文件中添加 Cloudera 或者阿里云镜像作为额外的存储库是一个有效的解决方案[^5]: ```xml <repositories> <!-- 配置Cloudera仓库 --> <repository> <id>cloudera</id> <url>https://repository.cloudera.com/artifactory/cloudera-repos/</url> <releases> <enabled>true</enabled> </releases> <snapshots> <enabled>false</enabled> </snapshots> </repository> <!-- 如果使用阿里云镜像可以增加此部分 --> <repository> <id>aliyun-maven</id> <name>Aliyun Public Repository</name> <url>http://maven.aliyun.com/nexus/content/groups/public</url> <layout>default</layout> <snapshots> <enabled>false</enabled> </snapshots> <releases> <enabled>true</enabled> </releases> </repository> </repositories> ``` 另外,确认本地设置中的 global 和 user 设置均指向正确的 settings.xml 路径也非常重要[^4]。通过 Eclipse IDE 进行配置的方法如下: 1. Window -> Preferences. 2. 展开 Maven 类目并选择 User Settings 子项. 3. 修改右侧 Global Settings 和 User Settings 输入框内的路径至实际存在的 Maven configuration/settings.xml. 最后,对于具体的 Hadoop 版本号未知的情况,建议先查阅官方文档或项目需求说明来确定确切版本再做相应调整;如果确实不存在该版本,则可能需要考虑升级或降级到其他兼容版本。 #### 注意事项 - 确认所使用的 Hadoop 发行版(如 Apache, CDH)及其对应的具体版本。 - 对于企业内部开发环境,可能存在私有 Nexus/Maven 库,需遵循公司规定进行配置。 - 使用较新的 Maven 及插件版本有助于减少此类问题的发生几率。
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值