公共编解码器的未解决依赖关系
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/
帮助我解决了依赖关系。
【讨论】:
以上是关于公共编解码器的未解决依赖关系的主要内容,如果未能解决你的问题,请参考以下文章