[gradle]多模块项目查看依赖树显示no dependencies
·
1.问题描述
在代码根目录下使用命令
./gradlew dependencies
结果是所有类型的依赖都是“No dependencies”:
> Task :dependencies
------------------------------------------------------------
Root project 'demo-service'
------------------------------------------------------------
annotationProcessor - Annotation processors and their dependencies for source set 'main'.
No dependencies
apiElements - API elements for main. (n)
No dependencies
archives - Configuration for archive artifacts. (n)
No dependencies
compileClasspath - Compile classpath for source set 'main'.
No dependencies
compileOnly - Compile only dependencies for source set 'main'. (n)
No dependencies
default - Configuration for default artifacts. (n)
No dependencies
implementation - Implementation only dependencies for source set 'main'. (n)
No dependencies
runtimeClasspath - Runtime classpath of source set 'main'.
No dependencies
runtimeElements - Elements of runtime for main. (n)
No dependencies
runtimeOnly - Runtime only dependencies for source set 'main'. (n)
No dependencies
testAnnotationProcessor - Annotation processors and their dependencies for source set 'test'.
No dependencies
testCompileClasspath - Compile classpath for source set 'test'.
No dependencies
testCompileOnly - Compile only dependencies for source set 'test'. (n)
No dependencies
testImplementation - Implementation only dependencies for source set 'test'. (n)
No dependencies
testRuntimeClasspath - Runtime classpath of source set 'test'.
No dependencies
testRuntimeOnly - Runtime only dependencies for source set 'test'. (n)
No dependencies
项目结构是多个模块组成的,结构如下:

其中一共有三个build.gradle文件,一个是根目录下的,另外两个分别在各自的module里面。./gradlew dependencies这个命令是在根目录下运行的
2.解决办法
如果要看module1中的dependencies,则命令改成
./gradlew dependencies -p ./module1
解释:在根目录下使用./gradlew dependencies,会扫描根目录build.gradle下的dependencies,对其进行检测,如果根目录下的build.gradle没有引入依赖的话,就会提示no dependencies.
因此dependencies的检测应该对其中的某个module进行的。对于我而言,只想看module1里面的内容,因此使用-p参数指定一个directory,该命令会输出module1中的dependencies结果。
也有一个替代的命令:
./gradlew module1:dependencies
module的名称作为前缀,这样也是可以的。
更多推荐
所有评论(0)