【问题标题】:Check if a dependency is correctly added in gradle检查是否在 gradle 中正确添加了依赖项
【发布时间】:2016-04-01 09:33:08
【问题描述】:

我将此依赖项添加到我的 build.gradle:

repositories { mavenCentral() }
dependencies { compile ('org.smali:dexlib2:2.1.1') }

而且我确信它存在: https://repo1.maven.org/maven2/org/smali/dexlib2/2.1.1/dexlib2-2.1.1.pom

我试过了:

gradle buildDependents
gradle buildNeeded
gradle build

一切都成功完成,但没有下载 jar,我无法导入类。

如何检查我是否添加了正确的依赖项?

gradle 依赖

我是否正在运行正确的命令来下载依赖项?

没有下载依赖的命令,它是构建期间的自动化任务

---编辑---

$ gradle dependencies
:dependencies

------------------------------------------------------------
Root project
------------------------------------------------------------

archives - Configuration for archive artifacts.
No dependencies

compile - Compile classpath for source set 'main'.
\--- org.smali:dexlib2:2.1.1
     +--- com.google.guava:guava:18.0
     +--- org.smali:util:2.1.1
     |    +--- com.google.guava:guava:18.0
     |    +--- commons-cli:commons-cli:1.2
     |    \--- com.google.code.findbugs:jsr305:1.3.9
     \--- com.google.code.findbugs:jsr305:1.3.9

default - Configuration for default artifacts.
\--- org.smali:dexlib2:2.1.1
     +--- com.google.guava:guava:18.0
     +--- org.smali:util:2.1.1
     |    +--- com.google.guava:guava:18.0
     |    +--- commons-cli:commons-cli:1.2
     |    \--- com.google.code.findbugs:jsr305:1.3.9
     \--- com.google.code.findbugs:jsr305:1.3.9

runtime - Runtime classpath for source set 'main'.
\--- org.smali:dexlib2:2.1.1
     +--- com.google.guava:guava:18.0
     +--- org.smali:util:2.1.1
     |    +--- com.google.guava:guava:18.0
     |    +--- commons-cli:commons-cli:1.2
     |    \--- com.google.code.findbugs:jsr305:1.3.9
     \--- com.google.code.findbugs:jsr305:1.3.9

testCompile - Compile classpath for source set 'test'.
+--- org.smali:dexlib2:2.1.1
|    +--- com.google.guava:guava:18.0
|    +--- org.smali:util:2.1.1
|    |    +--- com.google.guava:guava:18.0
|    |    +--- commons-cli:commons-cli:1.2
|    |    \--- com.google.code.findbugs:jsr305:1.3.9
|    \--- com.google.code.findbugs:jsr305:1.3.9
\--- junit:junit:4.11
     \--- org.hamcrest:hamcrest-core:1.3

testRuntime - Runtime classpath for source set 'test'.
+--- org.smali:dexlib2:2.1.1
|    +--- com.google.guava:guava:18.0
|    +--- org.smali:util:2.1.1
|    |    +--- com.google.guava:guava:18.0
|    |    +--- commons-cli:commons-cli:1.2
|    |    \--- com.google.code.findbugs:jsr305:1.3.9
|    \--- com.google.code.findbugs:jsr305:1.3.9
\--- junit:junit:4.11
     \--- org.hamcrest:hamcrest-core:1.3

(*) - dependencies omitted (listed previously)

BUILD SUCCESSFUL

【问题讨论】:

  • 添加gradle dependencies的输出
  • 已更新,感谢帮助
  • 嗯,看起来您拥有一切……您使用的是什么 IDE?您是否尝试过重新加载项目?
  • 依赖复制正确,不是gradle问题。
  • 它工作!我使用 IntellijIdea 并且导入自动完成没有找到这些类。重新启动 IDE 后,它要求将 jar 添加到类路径中,然后它工作正常......谢谢@fge,发布答案!

标签: java maven gradle


【解决方案1】:

看起来一切都很好,并且 jar 已下载到 gradle 缓存中。

要查看文件在本地的位置,您始终可以解析配置并显示文件位置。例如。像这样

task showJarLocations {
    doLast {
        configurations.compile.resolve().each { file ->
            println file.canonicalPath
        }
    }
}

【讨论】:

    猜你喜欢
    • 2012-06-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-06-02
    • 1970-01-01
    • 2014-07-26
    相关资源
    最近更新 更多