我从Gradle得到以下错误
Could not resolve all dependencies for configuration ':unitTestCompile'. > Could not find junit:junit:4.11.
这是我的建筑Gradle
apply plugin: 'android-library' buildscript { repositories { mavenCentral() } dependencies { classpath 'com.android.tools.build:gradle:0.8.+' } } version = '0.6.2' configurations { unitTestCompile.extendsFrom runtime unitTestRuntime.extendsFrom unitTestCompile } dependencies { compile files('libs/android-support-v4.jar') unitTestCompile 'junit:junit:4.11' } android { buildToolsVersion "19.0.1" compileSdkVersion 17 sourceSets { main { manifest.srcFile 'AndroidManifest.xml' java.srcDirs = ['src', 'bundled-src'] resources.srcDirs = ['src'] aidl.srcDirs = ['src'] renderscript.srcDirs = ['src'] res.srcDirs = ['res'] assets.srcDirs = ['assets'] } } dependencies { compile fileTree(dir: './libs', include: 'Amplitude.jar') } } sourceSets { unitTest { java.srcDirs = ['tests/src'] res.srcDirs = ['tests/res'] assets.srcDirs = ['tests/assets'] resources.srcDirs = ['tests/res'] } } task doUnitTest(type:Test, dependsOn: assemble) { description = "run unit tests" testClassesDir = project.sourceSets.unitTest.output.classesDir classpath = project.sourceSets.unitTest.runtimeClasspath } check.dependsOn doUnitTest
调试运行表明它试图用Ivy而不是Maven解决依赖关系?
16:21:58.633 [DEBUG] [org.gradle.api.internal.artifacts.ivyservice.resolveengine.DependencyGraphBuilder] Visiting configuration :analytics-android:0.6.2(unitTestCompile).
16:21:58.633 [DEBUG] [org.gradle.api.internal.artifacts.ivyservice.resolveengine.DependencyGraphBuilder] Visiting dependency :analytics-android:0.6.2(unitTestCompile) -> junit:junit:4.11(dependency: junit#junit;4.11 {unitTestCompile=[default]})
16:21:58.634 [DEBUG] [org.gradle.api.internal.artifacts.ivyservice.resolveengine.DependencyGraphBuilder] Selecting new module version junit:junit:4.11
16:21:58.634 [DEBUG] [org.gradle.api.internal.artifacts.ivyservice.ivyresolve.UserResolverChain] Attempting to resolve module 'junit:junit:4.11' using repositories []
16:21:58.636 [DEBUG] [org.gradle.api.internal.artifacts.ivyservice.resolveengine.DependencyGraphBuilder] Attaching :analytics-android:0.6.2(unitTestCompile) to its parents.
16:21:58.637 [DEBUG] [org.gradle.api.internal.artifacts.ivyservice.resolveengine.oldresult.TransientConfigurationResultsBuilder] Flushing resolved configuration data in Binary store in /private/var/folders/7y/yrtq1vcx3xb901v_xd5v5_100000gn/T/gradle1413382664789288993.bin. Wrote root :analytics-android:0.6.2:unitTestCompile.
16:21:58.638 [DEBUG] [org.gradle.api.internal.tasks.execution.ExecuteAtMostOnceTaskExecuter] Finished executing task ':compileUnitTestJava'
16:21:58.638 [INFO] [org.gradle.execution.taskgraph.AbstractTaskPlanExecutor] :compileUnitTestJava (Thread[main,5,main]) completed. Took 0.017 secs.
16:21:58.639 [DEBUG] [org.gradle.execution.taskgraph.AbstractTaskPlanExecutor] Task worker [Thread[main,5,main]] finished, busy: 4.035 secs, idle: 0.047 secs
16:21:58.644 [ERROR] [org.gradle.BuildExceptionReporter]
16:21:58.645 [ERROR] [org.gradle.BuildExceptionReporter] FAILURE: Build failed with an exception.
16:21:58.645 [ERROR] [org.gradle.BuildExceptionReporter]
16:21:58.646 [ERROR] [org.gradle.BuildExceptionReporter] * What went wrong:
16:21:58.646 [ERROR] [org.gradle.BuildExceptionReporter] Could not resolve all dependencies for configuration ':unitTestCompile'.
16:21:58.646 [ERROR] [org.gradle.BuildExceptionReporter] > Could not find junit:junit:4.11.
16:21:58.646 [ERROR] [org.gradle.BuildExceptionReporter] Required by:
16:21:58.647 [ERROR] [org.gradle.BuildExceptionReporter] :analytics-android:0.6.2
问题是,您只为构建脚本依赖项声明了一个存储库,而为常规依赖项则没有声明。(换句话说,您需要一个顶级的repositories
块。)此外,依赖项
块应该始终位于Android
块之外,因为它是一个与Android插件无关的核心Gradle特性。
我有一个gradle文件,它在gradle的一些古老版本中工作,但我想升级到Gradle5.0。不幸的是,它使用了ivy而不是maven来发布它的JAR。我把它简化为一个简单的测试用例。 在4.7中可以正常工作。它发布主jar和源jar,并添加依赖项。 如果切换到4.8,它会中断,它只发布源jar,主jar和依赖项都丢失了。 如果切换到4.8并注释掉配置位,它将再次发布主jar和依赖项。 也许有一
希望有人能帮助我。我有一个多项目配置,我想检索当前项目本地文件夹中的所有conf="compile"依赖项。所以我的ivy.xml如下所示: 我的 ANT 文件看起来像这样: IVY正确地解决了工件,但是复制/检索工作不正常。我不知道出了什么问题。 有人能帮我,告诉我我做错了什么吗?
我是Gradle/Groovy的新手,所以我可能遗漏了一些显而易见的东西。你能帮忙吗? 我们使用Ivy进行依赖管理。我正在试用Gradle,希望与我们现有的常春藤基础设施集成。通常情况下,这应该是可能的,但我们的常春藤的布局有点特别,而且...我不能让它工作。 这是因为我们的常春藤在布局时考虑了组织的url,例如: 我现在试着把这句话翻译成Gradle: 这当然是失败的,因为“[organizat
ivy-ui是一个符合 Web Components 规范的由浏览器原生支持的现代 web 组件库。 目标: 高颜值 可访问性(aria-) 通用性/易用性 跨框架。无论是react、vue还是原生项目均可使用 特性 跨框架。无论是react、vue还是原生项目均可使用。 组件化。shadow dom真正意义上实现了样式和功能的组件化。 类原生。一个组件就像一个原生标签一样。 无依赖。纯原生,无需
Apache Ivy是一个优秀的管理(记录、跟踪、解析和报告)项目依赖的工具,可与Apache Ant紧密集成。
我用gradle下载常春藤罐子,gradle脚本如下: } } 我的常春藤配置是这样的: 常春藤上的罐子名称是: http://my.company/his-libs/org.slf4j/slf4j-api/1.6.4/slf4j-api-1.6.4.jar 但是当我使用gradle下载它们时,jar的名称是: D:\Users\myname。gradle\caches\artifacts-23\