Grails commons编解码器的未解析依赖项

Grails commons编解码器的未解析依赖项,grails,ivy,apache-commons-codec,google-reporting-api,Grails,Ivy,Apache Commons Codec,Google Reporting Api,我正在尝试检索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 req

我正在尝试检索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的jar、少量xml文件ivy-1.5.xml和ivy-1.6.xml、ivydata-1.5.properties和ivydata-1.6.properties。我还试图删除整个常春藤缓存文件夹,但结果是一样的。

写完问题后,我找到了答案。将“compile”范围更改为“build”应该可以解决此错误:

build 'com.google.apis:google-api-services-analytics:v3-rev74-1.17.0-rc'
实际上,这解决了我之前的问题,但提出了另一个问题:)一个“构建”范围仅在编译时包含库,而不是在运行时!因此,部署到Tomcat时,我没有可用的google api服务分析。我的最终有效解决方案是:

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"
        }
}

在我的grails项目中,我通过从ivy缓存中删除文件夹“commons codec”来解决这个问题。然后重新加载了依赖项并解决了错误。

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

我编辑了我的答案,以前的解决方案提出了一个新问题:)解决了我的问题,谢谢!如果出现任何问题,请先清除缓存。这是圣杯。。。