我创建了一个小的测试构建文件来分析我刚刚发现的行为,我不确定这是我的错误还是标准的gradle行为。
我刚刚开始将旧的蚂蚁项目迁移到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行为不显示本地文件依赖?是否有其他方法来检查依赖声明是否有效?
答案 0 :(得分:3)
gradle dependencies
似乎无法从本地添加的jar中检索依赖关系树信息。
但是,如果您正在使用IntelliJ IDEA或Ecplise,则在使用gradle idea
或gradle eclipse
构建后,您将在构建路径中看到它们。
另一种查看依赖声明是否有效的方法是通过gradle输出 classpath 。你可以使用这样的任务:
task printClasspath << {
(configurations.runtime.asPath =~ /(?<jar>[^:]+)/).each {match, jar ->
println jar
}
}
使用gradle printClasspath
(或在更高版本中使用gradle pC
进行调用)进行调用时,此任务将&#34;相当打印&#34;在正则表达式的帮助下的类路径,它找到用冒号分隔的所有条目。