公共编解码器的未解决依赖关系

Posted

技术标签:

【中文标题】公共编解码器的未解决依赖关系【英文标题】:UNRESOLVED DEPENDENCIES for commons-codec 【发布时间】:2013-11-14 02:53:59 【问题描述】:

我正在尝试检索 Google Reporting API 的库:

compile 'com.google.apis:google-api-services-analytics:v3-rev74-1.17.0-rc'

但是我遇到了一个未解决的依赖错误,我不知道如何处理它:

:: commons-codec#commons-codec;1.6: configuration not found in commons-codec#commons-codec;1.6: 'master'. It was required from org.apache.httpcomponents#httpclient;4.0.1 compile

我检查了 .grails\ivy-cache\ 文件夹,其中有一个 commons-codec 文件夹,里面有 commons-codec-1.5 的 jars、几个 xml 文件 ivy-1.5.xml 和 ivy-1.6.xml 和 ivydata-1.5.properties和 ivydata-1.6.properties。我也试过删除整个ivy-cache文件夹,结果还是一样。

【问题讨论】:

【参考方案1】:

在我的 grails 项目中,我通过从常春藤缓存中删除文件夹“commons-codec”解决了这个问题。依赖是新加载的,错误解决了。

【讨论】:

解决了我的问题,谢谢!如果有任何问题 - 首先清除缓存。这是 Grails...【参考方案2】:

刚写完我的问题,我就找到了答案。将“编译”范围更改为“构建”应该可以解决错误:

build 'com.google.apis:google-api-services-analytics:v3-rev74-1.17.0-rc'

实际上,这解决了我之前的问题,但又引发了另一个问题 :) “构建”范围仅在编译时包含库,但在运行时不包含!所以我在部署到 Tomcat 时没有可用的 google-api-services-analytics。我的最终和可行的解决方案是:

dependencies 
        def googleLibVersion = "1.17.0-rc"
        compile("com.google.apis:google-api-services-analytics:v3-rev74-$googleLibVersion") 
            excludes "commons-codec"
        
        compile("com.google.http-client:google-http-client-jackson2:$googleLibVersion") 
            excludes "commons-codec"
        

【讨论】:

我编辑了我的答案,以前的解决方案提出了一个新问题:)【参考方案3】:

删除 .ivy2/cache/ 帮助我解决了依赖关系。

【讨论】:

以上是关于公共编解码器的未解决依赖关系的主要内容,如果未能解决你的问题,请参考以下文章

获取使用未声明的依赖关系[关闭]

安装GTK开发环境,未满足依赖关系,如何解决

怎么解决Linux下安装软件缺依赖关系的问题

如何使用 ant 构建多个具有依赖关系的项目

具有依赖关系的 Android 库无法正确解析

如何告诉 Grails 使用 Gradle 解决依赖关系