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