显示本地文件依赖关系

4
我创建了一个小型的测试构建文件来分析我刚刚发现的行为,我不确定这是我的错误还是标准的Gradle行为。
我刚开始将一个旧的Ant项目迁移到Gradle。第一步是将所有的jar文件复制到本地并创建本地文件依赖项。 我尝试检查依赖声明,但使用gradle dependencies无法显示它们。
我创建了一个小型测试Gradle脚本:
apply plugin: 'java'

repositories {
    jcenter()
}

dependencies {
    compile 'org.slf4j:slf4j-api:1.7.7'

    //compile fileTree('tmp_libs')
    compile files('tmp_libs/hsqldb/hsqldb_2.2.8.jar')

    testCompile 'junit:junit:4.12'
}

当运行gradle dependencies命令时,我可以看到slf4j依赖项但看不到hsqldb依赖项。这是我做错了什么还是gradle的正常行为不显示本地文件依赖项?是否有其他方法来检查依赖声明是否有效?
1个回答

4
似乎 gradle dependencies 无法从本地添加的 jars 中检索依赖关系树信息。
然而,如果你使用的是 IntelliJ IDEA 或 Eclipse,在分别使用 gradle ideagradle eclipse 构建后,你将会在构建路径中看到它们。
另一种检查依赖声明是否起作用的方法是通过 gradle 输出 classpath。你可以使用类似下面这样的任务:
task printClasspath << {
  (configurations.runtime.asPath =~ /(?<jar>[^:]+)/).each {match, jar ->
    println jar
  }
}

当使用gradle printClasspath(或在后续版本中简写为gradle pC)调用时,此任务将使用正则表达式“漂亮地打印”类路径,该表达式查找由冒号分隔的所有条目。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接